如何把action中的list传到jsp中呢?
A.jsp叶面中点击buttonA,调用actionB,在B中生成一个List<mstBean>,(mstBean中包括id,name…),叶面迁移到C.jsp,在C.j...
A.jsp叶面中点击buttonA,调用action B , 在B中生成一个List<mstBean>,(mstBean中包括id,name…),叶面迁移到C.jsp,在C.jsp中怎么得到这个list呢,并且根据这个list生成table呢?谢谢
我现在这样做的:
1。在action B中:
NaccsExcelOutputMstForm mForm = new NaccsExcelOutputMstForm();
List<MstItem> aaa=new ArrayList<MstItem>();
MstItem b=new MstItem();
b.setBUSU1(Integer.toString(i));
b.setBUSU2(Integer.toString(i));
aaa.add(b);
......
mForm.setArrList(aaa);
2。在actionForm NaccsExcelOutputMstForm中,定义了ArrList<MstItem> 的set,get 方法
3。在C.jsp中:
<table>
<logic:present name="arrList">
<logic:iterate id="aaa" name="arrList">
<tr>
<td><input type="text" name='SYUTSURYOKU_CD' value='<bean:write name="aaa" property="id" />'/> </td>
<td><input type="text" name='SYUTSURYOKU1' value='<bean:write name="aaa" property="name" />'/> </td>
</tr>
</logic:iterate>
</logic:present>
</table>
什么地方有错误呢?谢谢。
没有抛异常,只是表格没有做出来,第3步中中间部分没有执行,只出来了<table> </table>
我的list中放了一个类,类里面包括id,name,busu....等等
修改了一下:在action B中添加
request.setAttribute("ArrList", aaa);
在C.jsp中添加
<%
List<MstItem> arrList = new ArrayList<MstItem>();
arrList = (List<MstItem>)request.getAttribute("arrList");
%>
但是并没有取出来这个list。这是怎么回事儿呢
非常丁宁的回答我的问题,谢谢。
有 return mapping.findForward("SUCCESS"); 展开
我现在这样做的:
1。在action B中:
NaccsExcelOutputMstForm mForm = new NaccsExcelOutputMstForm();
List<MstItem> aaa=new ArrayList<MstItem>();
MstItem b=new MstItem();
b.setBUSU1(Integer.toString(i));
b.setBUSU2(Integer.toString(i));
aaa.add(b);
......
mForm.setArrList(aaa);
2。在actionForm NaccsExcelOutputMstForm中,定义了ArrList<MstItem> 的set,get 方法
3。在C.jsp中:
<table>
<logic:present name="arrList">
<logic:iterate id="aaa" name="arrList">
<tr>
<td><input type="text" name='SYUTSURYOKU_CD' value='<bean:write name="aaa" property="id" />'/> </td>
<td><input type="text" name='SYUTSURYOKU1' value='<bean:write name="aaa" property="name" />'/> </td>
</tr>
</logic:iterate>
</logic:present>
</table>
什么地方有错误呢?谢谢。
没有抛异常,只是表格没有做出来,第3步中中间部分没有执行,只出来了<table> </table>
我的list中放了一个类,类里面包括id,name,busu....等等
修改了一下:在action B中添加
request.setAttribute("ArrList", aaa);
在C.jsp中添加
<%
List<MstItem> arrList = new ArrayList<MstItem>();
arrList = (List<MstItem>)request.getAttribute("arrList");
%>
但是并没有取出来这个list。这是怎么回事儿呢
非常丁宁的回答我的问题,谢谢。
有 return mapping.findForward("SUCCESS"); 展开
5个回答
展开全部
使用request对象存放,然后在jsp中取值即可。
1,在action获取request对象:HttpServletRequest request = ServletActionContext.getRequest();
2,在request中存放值:request.setParameter("datas",list);
3,在jsp中获取request中的值。可以只用el表达式获取,然后遍历。
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<%@ taglib uri="http://java.sun.com/jstl/core_rt" prefix="c" %>
<html>
<body>
<c:forEach items="${datas}" var="data"> ${datas}会取到request中的"datas"对应的值,相当于List datas = request.getParameter("datas");加上c:forEach就会遍历list数组了。
${data} <br> 在网页中遍历显示list中的值,如果list中存放的是Object对象,使用 ${data.name}即可显示Object对象中name属性的值。
</c:forEach>
</body>
</html>
展开全部
你的list里有id和name么?<bean:write name="aaa" property="name" />是取得request 中名字是aaa的 属性是name的值 ,但是在aaa中根本就没有name这个属性!
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用数据访问对象DAO实现。将a.jsp的数据通过action提交给一个servlet(其实交给另一个jsp处理也行,但这不符合MVC开发模式),再有servlet通过DAO访问数据库。将每条记录作为一个对象保存在List中。在servlet中用request.setAttribute()和request.getRequestDispatcher().forward()转到c.jsp。在c.jsp中用request.getAttribute()取得List对象。
这儿有几个关于DAO的视频。你仔细看完后应该知道怎么写了。我也是从这儿学的http://www.mldn.cn/articlelist/article_58_adddate_desc_1.htm#
这儿有几个关于DAO的视频。你仔细看完后应该知道怎么写了。我也是从这儿学的http://www.mldn.cn/articlelist/article_58_adddate_desc_1.htm#
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
既然第3补中间部分没有运行 说明<logic:present name="arrList"> 没有找到叫"arrList"的javaBean,你得从NaccsExcelOutputMstForm类中找原因,看看他到底有没有创建arrList 并且导向了C.jsp。
如果还没有解决,我看你需要把NaccsExcelOutputMstForm贴出来来让大家看看了
楼主我不明白的是 为什么要set、get,ArrList<MstItem>呢
直接在 action B里request.Attribute("arrList",aaa);不就完了??
再次修改的答复:您在C.jsp中添加 的
<%
List<MstItem> arrList = new ArrayList<MstItem>();
arrList = (List<MstItem>)request.getAttribute("arrList");
%> 没有用处啊删掉它 在action B中添加request.setAttribute("arrList",aaa);
并且把actionB中的NaccsExcelOutputMstForm mForm = new NaccsExcelOutputMstForm();
和
mForm.setArrList(aaa);
注释掉,还不行的话把完整的actionB贴出来,我帮你该。
如果还没有解决,我看你需要把NaccsExcelOutputMstForm贴出来来让大家看看了
楼主我不明白的是 为什么要set、get,ArrList<MstItem>呢
直接在 action B里request.Attribute("arrList",aaa);不就完了??
再次修改的答复:您在C.jsp中添加 的
<%
List<MstItem> arrList = new ArrayList<MstItem>();
arrList = (List<MstItem>)request.getAttribute("arrList");
%> 没有用处啊删掉它 在action B中添加request.setAttribute("arrList",aaa);
并且把actionB中的NaccsExcelOutputMstForm mForm = new NaccsExcelOutputMstForm();
和
mForm.setArrList(aaa);
注释掉,还不行的话把完整的actionB贴出来,我帮你该。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
可以呀,有抛异常什么的吗?可能是你的判断标签,你把<logic:present name="arrList">去一下看看有什么反映.
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询