为什么我的Velocity模板中没有Liferay对象渲染?

时间:2016-01-21 20:04:12

标签: liferay liferay-6 liferay-velocity

一个简单的例子:

/* Get user roles */
#set($userId=$request.attributes.get('USER_ID'))
#set($roleLocalService=$serviceLocator.findService("com.liferay.portal.service.RoleLocalService"))
$roleLocalService.getUserRoles($userId)

页面上的渲染只是没有数据的文本。

$ roleLocalService.getUserRoles($用户id)

我错过了什么?

1 个答案:

答案 0 :(得分:3)

  1. 请确保您被允许使用charserviceLocator中的default valueportal.properties,这意味着模板无法使用velocity.engine.restricted.variables=serviceLocator。将其设置为“空白”(或至少不包括serviceLocator)。例如,将其设置为
  2. serviceLocator

    在Liferay主目录中的velocity.engine.restricted.variables=文件中。

    1. portal-ext.properties将为您提供userId的String值。因此,您需要使用以下内容将其转换为Long:
    2. $request.attributes.get