Hi,

We have a jersey based web application. We use Apache Freemarker for the
front end web pages. We integrate the Freemarker in our application using
the jersey-mvc-freemarker. In our web app we register the
FreeMarkerMvcFeature.class in the ResouceConfig on Startup. In our java
code, we return a Viewable which gets rendered in the FTL.

I have created a servlet Filter and added it in out web.xml. This filter
intercepts all the http requests. In the doFilter method of that Filter, I
am getting the HTTPSession from the HTTP request and setting an attribute
value. Say "myVal".

myVal should now be set on the HTTPSession in the HTTPServletRequest. I am
not able to access this myVal in the FTL page. I tried doing a lot of
research and also posted the question in stack overflow[
https://stackoverflow.com/questions/54835683/freemarker-httpsession-attribute-returning-null]
but I did not get any proper response.

I have tried to do the following:

I have updated Freemarker to the latest version: 2.3.28

I have also tried adding the servlet[
https://freemarker.apache.org/docs/pgui_misc_servlet.html] mentioned in the
Freemarker documentation to my web.xml and tried the following ways to
access the myVal:

${Request.myVal}

${myVal}

${Request.Session.myVal}

${Session.myVal}

All the above values are "null" and the below exception is thrown

FreeMarker template error (DEBUG mode; use RETHROW in production!): The
following has evaluated to null or missing: ==> Request [in template
"home.ftl" at line 18, column 3]

*---- Tip: If the failing expression is known to legally refer to something
that's sometimes null or missing, either specify a default value like
myOptionalVar!myDefault, or use <#if
myOptionalVar??>when-present<#else>when-missing. (These only cover the last
step of the expression; to cover the whole expression, use parenthesis:
(myOptionalVar.foo)!myDefault, (myOptionalVar.foo)?? ---- ---- FTL stack
trace ("~" means nesting-related): - Failed at:
${Request.Session.user_privilages} [in template "home.ftl" at line 18,
column 1]*

Please suggest on how I can access the http request in the FTL page. It
would be a great help for my project.

Please help. Thank you.
Regards,
Harsha Thota
1 (470)-535-2763 || [email protected]
https://www.linkedin.com/in/thotaharsha

Reply via email to