通过JournalStructureLocalServiceUtil Liferay获取结构名称



我正在尝试获取页面结构名称。我做了挂钩和文字检查每个页面结构名称。

我使用了JournalStructureLocalServiceUtil.getStructure(),但它不起作用,给了我错误,当我使用JournalStructureLocalServiceUtil.getStructures()时,它给了我的结果

[{uuid=6e12b579-c03e-4bd1-a4b3-45c6259807c7, id=10802,groupId=88, 
companyId=1, userId=2, userName=Haider Ghaleb, createDate=Wed Sep 05 12:23:43 GMT 
2012, modifiedDate=Mon Sep 10 16:23:46 GMT 2012, structureId=10801, 
parentStructureId=, name=Restriction, description=Testing testing, xsd= }]

在这里我可以找到结构名称"Restriction"。任何人都可以帮我,我也用过

BeanParamUtil.getString(article, request, "structureId")
BeanParamUtil.getLong(article, request, "groupId", scopeGroupId)

获取结构ID和组ID。

您几乎得到了结构的名称!尝试以下代码:

String structureName = JournalStructureLocalServiceUtil.getStructure(groupId, structureId).getName(Locale.US, true);

其中"groupId"one_answers"structureId"是你通过BeanPamUtil或Prakash建议的(这也是一种更好的方式)获得的:

String structureId = article.getStructureId();
long groupId = article.getGroupId();

表示getName(Locale.US, true);的部分将获得带有Locale for US的结构名称,或者如果没有Locale US的名称,它将返回默认的Locale版本。

这应该对你有用。

谢谢@Jonny,现在我们有两种方法可以获得结构名称

第一种方法(您的):

<%
String structureId2 = article.getStructureId();
long groupId2 = article.getGroupId();
String structureName = JournalStructureLocalServiceUtil.getStructure(groupId2, structureId2).getName(Locale.US, true);
%>
<h3>Structure Name 2="<%= structureName %>"</h3>

第二种方法(矿山):

<%
String structureId= BeanParamUtil.getString(article, request, "structureId");
long groupId1 = BeanParamUtil.getLong(article, request, "groupId", scopeGroupId);
JournalStructure js=(JournalStructure)JournalStructureLocalServiceUtil.getStructure(groupId1, structureId);
%>
<h2>Structure Name="<%= js.getName() %>"</h2>

两者都会得到正确的答案。非常感谢。稍后,我将发布另一个关于从hook发送密码的问题,并在同一页面上验证密码是否正确,如果是,则会显示内容。

如果你能帮忙,我将不胜感激。

最新更新