2016-01-21 3 views
1

Простой пример:Почему объекты 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 ($ USERID)

Что мне не хватает?

ответ

3
  1. Убедитесь, что вам разрешено использовать serviceLocator. default value в portal.properties - velocity.engine.restricted.variables=serviceLocator, что означает, что serviceLocator не доступен для шаблонов. Установите его в «blank» (или, по крайней мере, не включите serviceLocator). Например, установите его в

velocity.engine.restricted.variables=

в portal-ext.properties файл внутри каталога Liferay дома.

  1. $request.attributes.get будет предоставлять вам значение String для пользователя. Так что вам нужно, чтобы преобразовать это Long, используя что-то вроде:

$roleLocalService.getUserRoles($getterUtil.getLong($userId))

 Смежные вопросы

  • Нет связанных вопросов^_^