<%
FormBean fb = new FormBean();
request.setAttribute("aa",fb);
%> <head>
</head>
<body>
<form name = "form1" action="test2.jsp" method="post">
<input type="submit" name="b1" value="submit">
</form>
</body> test2.jsp 如下 <%
Object obj = request.getAttribute("aa");
out.println(obj.toString());
%> 上例子中我想在test.jsp中把FormBean 传递到test2.jsp 中, 可是我用request.getAttribute("aa") 得到的是Null 请问我如何做才能实现在jsp间传递java 对象? 请给代码参考,谢谢.
FormBean fb = new FormBean();
request.setAttribute("aa",fb);
%> <head>
</head>
<body>
<form name = "form1" action="test2.jsp" method="post">
<input type="submit" name="b1" value="submit">
</form>
</body> test2.jsp 如下 <%
Object obj = request.getAttribute("aa");
out.println(obj.toString());
%> 上例子中我想在test.jsp中把FormBean 传递到test2.jsp 中, 可是我用request.getAttribute("aa") 得到的是Null 请问我如何做才能实现在jsp间传递java 对象? 请给代码参考,谢谢.
楼主【baihexige】截止到2008-07-12 11:24:27的历史汇总数据(不包括此帖):
发帖的总数量:9 发帖的总分数:330 每贴平均分数:36
回帖的总数量:5 得分贴总数量:0 回帖的得分率:0%
结贴的总数量:5 结贴的总分数:180
无满意结贴数:0 无满意结贴分:0
未结的帖子数:4 未结的总分数:150
结贴的百分比:55.56 % 结分的百分比:54.55 %
无满意结贴率:0.00 % 无满意结分率:0.00 %
楼主加油
先副职在取
FormBean fb = new FormBean();
request.setAttribute("aa",fb);
取 :
FormBean r=(FormBean)request.getAttribute("aa");
if(r!=null){
//处理
}
<%
FormBean fb = new FormBean();
request.setAttribute("aa",fb);
%>
<jsp:forward page="test2.jsp"/>
可以实现.
而你的<form name = "form1" action="test2.jsp" method="post"> 到test2.jsp之后,test.jsp和test2.jsp就是2个不同的request了,那么在test.jsp这个request里面的对象 当然 不存在于test2.jsp这个request,取出来就是null了。vtudiv 的代码 <jsp:forward page="test2.jsp"/> 采用的forward的方式,从test.jsp到test2.jsp,仍然是同一个request,所以可以共享这个对象。但是用这种方式可能不满足你的需要。。要在不同的request内共享对象,只有通过session来传递了,
<%
FormBean fb = new FormBean();
request.getSession().setAttribute("aa",fb);
%>
那么只要是在这个session的任何request都可以取到这个对象了,取对象的方法:
<%
FormBean fb = (FormBean) request.getSession().getAttribute("aa");
%>
FormBean fb = new FormBean();
request.setAttribute("aa",fb);
%>
楼主这样写当然是空了,要先把fb负值再传!!
这里都new了怎么会是null? 在另一边取出来是null的原因是不同的request无法传递request范围的对象。。详见6楼
确定一个对象需要网络传输时, 则就给他实现Serializable,这接口没有任何方法, 你只要在声时类加上implements Serializable就行了(java.io.Serializable)
public class FormBean implements Serializable{ //加上这个看看
}
request.getRequestDispatcher("test2.jsp").forward(request,response);
把request一起传过去!
那边request.getAttribute("aa");取出来.就OK了