Liferay Freemaker:如何在模板中获取请求对象?
我正在使用Liferay 6.2和freemaker制作web内容模板。我需要在模板中获取请求对象。当我尝试使用Liferay Freemaker:如何在模板中获取请求对象?,liferay,freemarker,liferay-theme,Liferay,Freemarker,Liferay Theme,我正在使用Liferay 6.2和freemaker制作web内容模板。我需要在模板中获取请求对象。当我尝试使用${Request.getRequest()}时,它抛出错误表达式请求未定义。 完整代码在这里 <#assign userService=utilLocator.findUtil('my-portlets', org.test.service.UserService')> <#if userService.isUser(Request.getRequest())&g
${Request.getRequest()}
时,它抛出错误表达式请求未定义
。
完整代码在这里
<#assign userService=utilLocator.findUtil('my-portlets', org.test.service.UserService')>
<#if userService.isUser(Request.getRequest())>
<h1>is User</h1>
</#if>
如何在freemaket ftl模板中获取请求对象?FreeMarker变量区分大小写,并且不以
$
符号开头(如velocity)
使用
request
变量。您可以像中一样使用request变量
<#if request.getParameter("something")??>
我发现这个文件总是有用的
另外,$的使用可能会给您带来一些问题,因为它在velocity中没有使用。
$request
是模板中可用的隐式对象。但是,如果您想获取httpServletRequest
对象,可以通过以下方式获取:\set($serviceContext=$portal.getClass().forName(“com.liferay.portal.service.ServiceContextThreadLocal”).getServiceContext())#set($httpServletRequest=$serviceContext.getRequest())
谢谢!但是你能用一个小例子以更扩展的方式发布你的答案吗?@ParkashKumarHere是完整的列表,这是与你的问题相匹配的答案。
<#if request.getParameter("something")??>