jsp 向 servlet 传递 对象

从jsp中把一个对象传递给servlet。

不想用session,因为要传递的数据有可能很大。

我试了request.setAttribute("",x)等很多方法都不行。请高手指点,

如果答案好,另加200分。请测试后再发出您的源代码!
谢谢大家的支持,我要传递的对象本身就是以个集合,我想把它传递到servlet中取出一部分数据。

我的代码如下:<%
String test = "test";
request.setAttribute("te",test);
request.getRequestDispatcher("servlet/TestSlt").forward(request,response);

%>

<form action="servlet/TestSlt" name = testFrm method = post>
<input type = submit value = "提交">
</form>

这样每次加载这个页面,对象就自动提交了。我想知道可不可以让我点了提交按钮之后再提交对象。

我强调下,要传递的是对象,而不是以个简单的字符串,上面只是一个例子。
如果在<input type = text name ="?" value=<%=对象%>>
然后就没法用request.getParameter()获取对象了,因为它返回的是字符串。

7楼的请你测试了,再给我消息哈!!!

request.getRequestDispatcher("servlet/TestSlt").forward(request,response);
这句删了,这样就是你按了提交按钮过才跳转
在jsp页面上可以用
<%
request.setAttribute("name",value);//value为一个对象,假设类型Object
%>
然后servlet里面这样取就行了
Object value=(Object)request.getAttribute("name");
温馨提示:内容为网友见解,仅供参考
第1个回答  2015-12-13
jsp中传对象给servlet的方法:
在servlet把对象放到request里,然后jsp里直接通过request取值
如 在servlet:(简写了)
public void doGet(request,response){
UserInfo user=new UserInfo();
//一系列处理往user属性赋值操作后
request.setAttribute("user",user);
//不能用response.sendRedirect();
request.getRequestDispatcher("/index.jsp").forward(request, response);
}
在index.jsp页面里:
//导入UserInfo所在的包
<%@ page import="" %>
<%
UserInfo user=(UserInfo )request.getAttribute("user");
%>本回答被网友采纳
第2个回答  2008-11-07
1 JSP页面用request.setAttribute(),在Servlet接收应该是可以的,可能是你弄错了。
2 如果是表单提交的方式,在servlet方用request.getParameter()一定是可以的。
但不知道你具体的程序是什么样的。能否发出来。
QQ:244077575 还可以在百度给我发信息本回答被提问者采纳
第3个回答  2008-11-07
在jsp页面中用request.setAttribute("",x)肯定不行了,因为该方法是请求转发,要在后面写上转发的页面,你可以在servlet中使用request.getParameter()方法取得数据并存入对象中。你把你的错误代码发过来吧!邮箱是jx822@sina.com
第4个回答  2008-11-07
在JSP页面上写
<%
request.setAttribute("bean", new MyBean());
request.getRequestDispatcher("你的servlet").forward(request,response);
%>
在servlet里面写
MyBean mb = (MyBean) request.getAttribute("bean");
mb就是你要的结果了。
或者用 <jsp:forward page=""></jsp:forward>标签。
不然你就要用session来传了,
好好理解下request,session这些隐式对象吧!
相似回答