[ECSide] 多对多关系用ecside 显示问题
JavaNose
2007-11-23
有Student 表 sno sname两个字段
有Course表 cname scores两个字段 有的学生有两个选课 有的学生有一个选课 有的学生没有选课 我想在前台用ecside显示所有学生选课的情况 用Hibernate 写查询代码 action中 这么写的 TestOperate to=new TestOperate(); List list=null; try { list=to.queryAll(); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } Iterator iter2=list.iterator(); Map map=new HashMap(); List list2=new ArrayList(); Vo vo =new Vo(); Course cou=null; while(iter2.hasNext()) { Student stu=(Student)iter2.next(); Set set=stu.getCourses(); map.put("sno", stu.getSno()); map.put("name", stu.getSname()); iter2=set.iterator(); while(iter2.hasNext()) { cou=(Course)iter2.next(); map.put("cname", cou.getCname()); map.put("scores", cou.getScores()); list2.add(map); } list2.add(map); } request.setAttribute("student", list); return mapping.findForward("login"); jsp这么写 <ec:table items="student" retrieveRowsCallback="process" action="${pageContext.request.contextPath}/test.jsp" pageSizeList="2,5,10,50,100" rowsDisplayed="5" title="总统信息" editable="true" xlsFileName="文件1.xls" csvFileName="文件2.csv" pdfFileName="文件3.pdf" sortable="true" filterable="true" useAjax="true" classic="true" showPrint="true"> <ec:row> <ec:column width="50" property="sno" title="序号" value="${GLOBALROWCOUNT}" /> <ec:column width="200" property="sname" title="姓名" style="color:green"/> <ec:column width="200" property="cname" title="课程名" /> <ec:column width="100" property="scores" title="分数"/> </ec:row> </ec:table> 只能显示 最后一条记录,,, 如果不用ecside action里 TestOperate to=new TestOperate(); Iterator iter=null; try { iter=to.queryAll(); } catch (Exception e) { e.printStackTrace(); } request.setAttribute("student", iter); return mapping.findForward("show"); jap里这么写就可以了 <table border="1"> <tr> <td>姓名</td> <td>科目</td> <td>分数</td> </tr> <logic:iterate id="student" name="student"> <bean:define id="course" name="student" property="courses"/> <logic:iterate id="course" name="course"> <tr> <tr> <td ><bean:write name="student" property="sname"/></td> <td ><bean:write name="course" property="cname"/></td> <td><bean:write name="course" property="scores"/></td> </tr> </logic:iterate> </logic:iterate> </table> 用ecside还不怎么熟,,,不知道怎么弄 请大家,,,谢谢了 |