Liferay-使用velocity中的文件夹名称获取文件夹ID

Liferay-使用velocity中的文件夹名称获取文件夹ID,liferay,liferay-6,liferay-theme,liferay-aui,liferay-velocity,Liferay,Liferay 6,Liferay Theme,Liferay Aui,Liferay Velocity,我知道如何使用以下方法在liferay velocity主题中获取groupid: #set ($scopeGroupId = $getterUtil.getLong($group_id)) 但是,我还需要使用文件夹的名称获取文件夹的ID。 我已经研究了一段时间,但似乎没有找到一种方法 问:这在liferay 6.2中是否已启用且可行?请确保允许您使用serviceLocator或在您的portal-ext.properties中添加此条目: velocity.engine.restricte

我知道如何使用以下方法在liferay velocity主题中获取groupid:

#set ($scopeGroupId = $getterUtil.getLong($group_id))
但是,我还需要使用文件夹的名称获取文件夹的ID。
我已经研究了一段时间,但似乎没有找到一种方法


问:这在liferay 6.2中是否已启用且可行?

请确保允许您使用
serviceLocator
或在您的portal-ext.properties中添加此条目:

velocity.engine.restricted.variables=
之后,您可以在模板中使用以下代码:

#set ($folderLocalService =$serviceLocator.findService("com.liferay.portlet.documentlibrary.service.DLFolderLocalService"))
#set ($folderId = $folderLocalService.getFolder($groupId,0,"folder_name").getFolderId())

$folderId 

或者,您可以使用
DLFolderLocalService

中的另一种方法,确保允许您使用
serviceLocator
或将此项添加到您的portal-ext.properties中:

velocity.engine.restricted.variables=
之后,您可以在模板中使用以下代码:

#set ($folderLocalService =$serviceLocator.findService("com.liferay.portlet.documentlibrary.service.DLFolderLocalService"))
#set ($folderId = $folderLocalService.getFolder($groupId,0,"folder_name").getFolderId())

$folderId 

或者您可以使用
DLFolderLocalService

中的另一种方法。如果该方法不起作用,它将显示在浏览器$folderId中。可能有什么问题?是否添加了此属性
velocity.engine.restricted.variables=
?或者文件夹不存在。查看
getFolder
中的参数,在上面的示例中,第二个参数是
parentFolderId
。是的,我添加了属性,并且我使用的文件夹名称存在。它没有parentfolder,这意味着parentfolderid应该为0正确吗?是的,0是根文件夹的默认id。您正在使用哪个版本的Liferay?我已经检查了
liferay-portal-6.2-ce-ga5
。它不工作,显示在浏览器$folderId中。可能有什么问题?是否添加了此属性
velocity.engine.restricted.variables=
?或者文件夹不存在。查看
getFolder
中的参数,在上面的示例中,第二个参数是
parentFolderId
。是的,我添加了属性,并且我使用的文件夹名称存在。它没有parentfolder,这意味着parentfolderid应该为0正确吗?是的,0是根文件夹的默认id。您正在使用哪个版本的Liferay?我已经查看了
liferay-portal-6.2-ce-ga5