我正在尝试获取页面结构名称。我做了挂钩和文字检查每个页面结构名称。
我使用了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发送密码的问题,并在同一页面上验证密码是否正确,如果是,则会显示内容。
如果你能帮忙,我将不胜感激。