我正在迭代表中的实体列表。此实体具有重写 toString
方法以提供其实例的"name"属性的对象列表。让我们称它们为B
对象。
在该表中,我想要一列,其中对象B
的所有值(通过调用其toString
方法确定)都用逗号连接。就像这个片段一样:
<rich:column visible="false" label="function">
<f:facet name="header">Function</f:facet>
<h:outputText value="#{fn:join(a.b, ', ')}" />
</rich:column>
其中b
是类 B
的对象列表。唯一的问题是 jsp1.2 不会渲染这个:
javax.servlet.ServletException: Cannot convert [] of type class org.hibernate.collection.PersistentBag to class [Ljava.lang.String;
所以问题是:除了循环输出列表值的<c:forEach>
之外,是否有一种很好的方法来处理这个问题?
恐怕这是一个使用 jsp1.2 和 seam2.2 的遗留项目,我不允许升级它。
您可以创建一个返回列表String
的 getter:
public String getMyListAsString(){
return org.apache.commons.lang.StringUtils.join(myList, ", ");
}
您可以在 EL 中使用吸气剂:
#{myBean.myListAsString}