1

我正在迭代表中的实体列表。该实体有一个对象列表,这些对象覆盖该toString方法以提供其实例的“名称”属性。我们称它们为B对象。

在该表中,我希望有一个列,其中通过调用其toString方法确定的对象的所有值B都用逗号连接。就像在这个片段中一样:

<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 的遗留项目,我不允许升级它。

4

1 回答 1

0

您可以创建一个返回String列表的吸气剂:

public String getMyListAsString(){
  return org.apache.commons.lang.StringUtils.join(myList, ", ");
}

您可以在 EL 中使用 getter:

#{myBean.myListAsString}
于 2012-09-15T13:10:03.780 回答