当前位置: 代码迷 >> J2EE >> 双层s:iterator的处理,有没有人做过?该如何处理
  详细解决方案

双层s:iterator的处理,有没有人做过?该如何处理

热度:159   发布时间:2016-04-22 02:46:23.0
双层s:iterator的处理,有没有人做过?
首先是实体类:
实体类1:TrainingCourseClassAttendHistory.java
Java code
private 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
Java code
    private Integer id;    private Integer attendRecordId;    private Timestamp attendDate;    private Boolean attendAmSession;    private Boolean attendPmSession;

两个实体类通过attendRecordId连接。现在要实现s:iterator显示TrainingCourseClassAttendHistory.java,在其内部再显示第二个实体类的内容。
效果如下:

显示是可以的,但是再次保存这些数据的时候就不行了。
显示时用的是List<TrainingCourseClassAttendHistory>

保存时也是用的List<TrainingCourseClassAttendHistory>



------解决方案--------------------
<s:iterator var="t" item="${TrainingCourseClassAttendHistory}">

.........

<s:iterator var="t2" item="${t.TrainingCourseClassAttendPeriod}">

........

</s:iterator>

</s:iterator>
应该就是差不多这样的结构,iterator里面的两个属性可能记错。到时候要是错的话,你换一下就行了。

------解决方案--------------------
哈哈。。。这其实我也有点弄不懂。好像是你以前问过这个嵌套的问题,我回答的
你在后台把List里面嵌套的集合遍历一遍。只需要遍历一边,不用做其它的操作
再试试。。。我以前就是这么解决的
Java code
    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();    }
------解决方案--------------------
意思是提交保存?不是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>
  相关解决方案