[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还不怎么熟,,,不知道怎么弄  请大家,,,谢谢了

Global site tag (gtag.js) - Google Analytics