如何在freemarker中检查请求属性中的值? 我试过< #if * $ {RequestParameters ['servicesettings']} ??>但得到错误 - >
在
行遇到“*”有人可以帮忙吗?
答案 0 :(得分:2)
它取决于Web应用程序框架,因为FreeMarker本身不公开请求参数。 (好吧,除非框架使用freemareker.ext.servlet.FreemarkerServlet
,这是FreeMarker的扩展。)此外,通常你不应该直接从 MVC 模板或任何东西访问请求参数。 HTTP / Servlet特定。
从错误消息开始,你写的内容有一些语法错误......可能你的意思是<#if RequestParameters.servicesettings??>
(它不是JSP - 不要在FreeMarker标签内使用${...}
- s)。这将要求您在数据模型中有RequestParameters
,我无法确定...
答案 1 :(得分:1)
我们应该这样写:
${Request.requestattribute}
答案 2 :(得分:1)
您可以使用
${requestParameters.servicesettings}.
答案 3 :(得分:0)
根据JavaDoc of the FreemarkerServlet
:
它通过
Request
,RequestParameters
,Session
和Application
变量使模板可以使用所有请求,请求参数,会话和servlet上下文属性。范围变量也可通过自动范围发现获得。也就是说,写
Application.attrName
,Session.attrName
,Request.attrName
不是强制性的;编写attrName
就足够了,如果模板中没有创建这样的变量,它将在Request
中搜索变量,然后在Session
中搜索,最后在Application
中搜索
您可以简单地写一下:
${attrName}
获取请求属性的值(您可能使用request.setAttribute('attrName', 'value')
使用Freemarker 2.3.27-incubating