首先是实体类:
实体类1:TrainingCourseClassAttendHistory.javaprivate Integer attendRecordId;
private Integer applicationId;
private Integer attendPercentage;
private Integer cpdId;
private Integer mpfCpdCore;
private Integer mpfCpdNonCore;
private Integer cpt;
private String createdBy;
private Timestamp createDate;
private Set<TrainingCourseClassAttendPeriod> trainingCourseClassAttendPeriod = null;
set/get省略实体类2:TrainingCourseClassAttendPeriod.java private Integer id;
private Integer attendRecordId;
private Timestamp attendDate;
private Boolean attendAmSession;
private Boolean attendPmSession;两个实体类通过attendRecordId连接。现在要实现s:iterator显示TrainingCourseClassAttendHistory.java,在其内部再显示第二个实体类的内容。
效果如下:显示是可以的,但是再次保存这些数据的时候就不行了。
显示时用的是List<TrainingCourseClassAttendHistory>保存时也是用的List<TrainingCourseClassAttendHistory>

解决方案 »

  1.   

    <s:iterator var="t" item="${TrainingCourseClassAttendHistory}">          .........          <s:iterator var="t2" item="${t.TrainingCourseClassAttendPeriod}">               ........          </s:iterator></s:iterator>
    应该就是差不多这样的结构,iterator里面的两个属性可能记错。到时候要是错的话,你换一下就行了。
      

  2.   

    哈哈这其实我也有点弄不懂。好像是你以前问过这个嵌套的问题,我回答的
    你在后台把List里面嵌套的集合遍历一遍。只需要遍历一边,不用做其它的操作
    再试试我以前就是这么解决的 public List<Role> selRole(int currentPage) {
    session = sf.getCurrentSession();
    Query query = session.createQuery("from Role");
    query.setFirstResult((currentPage - 1) * RPAGESIZE);
    query.setMaxResults(RPAGESIZE);
    List<Role> list = query.list();
    for (int i = 0; i < list.size(); i++) {
    Iterator it = list.get(i).getStates().iterator();
    while (it.hasNext()) {
    State s = (State) it.next();
    }
    }
    return query.list();
    }像这样
      

  3.   

    意思是提交保存?不是name与之相对应不就好了<s:iterator value="firstList" status="stu" var="xxx">
         <input name="firstList[${stu.index}].xxx1"/>
         <s:iterator value="xxx.secondList" status="stud" var="xxxx">
             <input name="firstList[${stu.index}].secondList[${stud.index}].xxxx1" />
         </s:iterator>
    </s:iterator>