自定义值在 Liferay SearchContainer 中的显示方式
Customizing how values get displayed in a Liferay SearchContainer
我的 Liferay 实体 Person
有一个 <column name="mother" type="long" />
,它指向 Person
的另一个实例的主键。这个 long 在我创建的 SearchContainer table 中显示为一个数字:
<liferay-ui:search-container-column-text
name="category"
property="category"
/>
现在,我不想显示很长,而是显示此人的姓名。所以我写道:
<%
String motherName =
PersonLocalServiceUtil.getPerson( person.getMother() )
.getName();
}
%>
<liferay-ui:search-container-column-text
name="mother"
value="<%= motherName %>"
property="mother"
/>
问题:此列中显示的值仍然是 long
数字,而不是名称。即使在重建和重新启动之后。
我做错了什么?
检查SearchContainerColumnTextTag
的执行情况:
public int doEndTag() {
...
if (Validator.isNotNull(_property)) {
_value = ...
}
如您所见,您不能同时设置 property
和 value
。只需设置 value
即可。
我的 Liferay 实体 Person
有一个 <column name="mother" type="long" />
,它指向 Person
的另一个实例的主键。这个 long 在我创建的 SearchContainer table 中显示为一个数字:
<liferay-ui:search-container-column-text
name="category"
property="category"
/>
现在,我不想显示很长,而是显示此人的姓名。所以我写道:
<%
String motherName =
PersonLocalServiceUtil.getPerson( person.getMother() )
.getName();
}
%>
<liferay-ui:search-container-column-text
name="mother"
value="<%= motherName %>"
property="mother"
/>
问题:此列中显示的值仍然是 long
数字,而不是名称。即使在重建和重新启动之后。
我做错了什么?
检查SearchContainerColumnTextTag
的执行情况:
public int doEndTag() {
...
if (Validator.isNotNull(_property)) {
_value = ...
}
如您所见,您不能同时设置 property
和 value
。只需设置 value
即可。