在我的域中,我与库存和库存物品有一对多的关系。这是gsp的片段。它显示分配给特定库存的每个库存物料。
<g:if test="${inventoryInstance?.inventoryItem}">
<li class="fieldcontain">
<span id="inventoryItem-label" class="property-label"><g:message code="inventory.inventoryItem.label" default="Inventory Item" /></span>
<g:each in="${inventoryInstance.inventoryItem}" var="i">
<span class="property-value" aria-labelledby="inventoryItem-label">
<g:link controller="inventoryItem"
action="show"
id="${i.id}">${i?.encodeAsHTML()}
</g:link>
</span>
</g:each>
</li>
</g:if>
问题是显示的链接是package.InventoryItem:1
如何将其更改为InventoryItem的名称(我的数据库中有一个名称行)
答案 0 :(得分:0)
${i.name?.encodeAsHTML()}
如果i
为空,那么当您使用i.id
时,您将获得正确的NPE。此外,您不应该迭代inventoryItems
的集合,期望它有一个空项。 :)
查看second example的答案。
如果您希望i
默认返回name
,则必须覆盖我不会做的toString()
。