Topic: Struts显示明细数据问题? |
Print this page |
1.Struts显示明细数据问题? | Copy to clipboard |
Posted by: zhoujunsheng168 Posted on: 2005-12-13 10:36 我在用Struts开发一个系统过程中,需要调用一个比较复杂的存储过程,这个存储过程返回一个结果集。我先写Dao,在Dao中调用这个存储过程,将返回的结果存进一个List中,在Action中设置:request.setAttribute(“OrderList”,orderList),然后显示在页面中. 现在在这个显示所有数据的页面中:用户需要一条条浏览数据,当点击主键时,会显示一个窗口,在这个窗口中显示这条明细数据。以前的操纵对于一个表时,我一般是写一个方法,取得通过参数传递取得主键,再根据主键取得这笔资料。现在因为是对一个存储过程,里面包住了复杂的处理过程,所以觉得不合适。我的初步想法是在dao中,将取得的数据写进一个Map中,通过使用Logic:iterate遍历这个Map。在显示明细时,传递一个索引编号参数,在显示另一个窗口时,通过 map.get()得到这个VO,不知道这样行不行?大家有没有好的方法?如何用logic:iterate遍历一个Map? 恳请高人解答? Thanks! |
2.Re:Struts显示明细数据问题? [Re: zhoujunsheng168] | Copy to clipboard |
Posted by: floater Posted on: 2005-12-14 11:28 You list should be in the session. When you get the row back, you need to verify the index is indeed in the list, to prevent hacking. All you need is just a list, every element in the list is an object with the index as a field. |
3.Re:Struts显示明细数据问题? [Re: zhoujunsheng168] | Copy to clipboard |
Posted by: zhoujunsheng168 Posted on: 2005-12-14 16:43 谢谢floater老大. 我现在不采用Logic:iterate输出,并把scope由request改为session直接采用jsp代码如下输出,虽然这违背MVC原则,但一时想不到好办法, <% ArrayList list=(ArrayList) session.getAttribute("ReturnComfirmList"); if((list!=null)&&(list.size()>0)) { for(int index=0;index<list.size();index++) { Return_Confirm returnconfirm=(Return_Confirm)list.get(index); 输出Field数据 <input type=hidden value=<%=index%> 把索引编号通过hidden传过去 在提交的jsp中采用 ArrayList list=(ArrayList) session.getAttribute("ReturnComfirmList"); String index=request.getParameter(“index”); int I=Integer.parseInt(index); Return_Confirm return_Confirm=list.get( i ); 这样取得这条数据的记录,显示给用户.不知道这样行不? |
4.Re:Struts显示明细数据问题? [Re: zhoujunsheng168] | Copy to clipboard |
Posted by: floater Posted on: 2005-12-14 21:52 that should do the trick. You could use this, or struts' iterate, or jstl. |
Powered by Jute Powerful Forum® Version Jute 1.5.6 Ent Copyright © 2002-2021 Cjsdn Team. All Righits Reserved. 闽ICP备05005120号-1 客服电话 18559299278 客服信箱 714923@qq.com 客服QQ 714923 |