1

我正在使用蒲公英来显示一个表(来自一个休眠数据库):

<datatables:table id="listPersons" data="${listPersons}" row="person" 
                  cellspacing="0" width="100%"
                  theme="bootstrap2" pageable="true" info="true">
        <datatables:column title="Person" property="person"/>
        <datatables:column title="Car" property="car"/>
</datatables:table>

它工作正常。

但是,我需要从父母类(休眠数据库)中添加额外的两列:“父亲姓名”和母亲姓名“。该类(也休眠)具有变量:Parents parents;

我试过类似的东西:

<c:forEach items="${person.parents}" var="parents"> 
    <datatables:column title="Father name" property="parents.father_name"/>
</c:forEach>

但我得到了例外:

javax.servlet.ServletException:javax.servlet.jsp.JspException:java.lang.NoSuchMethodException:类'class org.hibernate.collection.internal.PersistentBag'上的未知属性'father_name'

我尝试了很多变体(使用蒲公英数据表),但没有一个工作。

4

1 回答 1

1

你应该改为

<datatables:column title="Father name">
    <c:forEach items="${person.parents}" var="parent">
        <c:out value="${parent.father_name}"/>
    </c:forEach>
</datatables:column>

您遇到的问题property="parents.father_name"/>是没有使用您在forEach中设置的变量,而是使用作为集合的休眠实体的 parents 属性

于 2015-02-13T11:24:43.760 回答