日期:2014-05-18  浏览次数:20603 次

jsp页面中文本框的值如何保存
问题是这样的,一个1.jsp页面中有多个文本框供用户输入数据,其中还有一个文件域输入框,这个文件域输入框用来上传文件,后面有个提交按钮,当用户选择好要上传的文件路径后点击提交按钮提交到一个2.jsp页面进行处理,处理完后返回1.jsp页面.返回1.jsp页面后如何保存住原先填进那些文本框中的值.以便一起将数据提交到3.jsp页面中进行处理.

------解决方案--------------------
把值存入Session中,在用的时候提取出来,用完后就把Session中的内容清掉就行了
------解决方案--------------------
1. response.sendRedirect();
2. response.setHeader("Location","");
3. <jsp:forward page="" /> 经过试验得到下面的一些规则:此语句前不允许有out.flush(),如果有,会有异常

一. response.sendRedirect()
跳转后浏览器地址栏变化
如果要跳到不同主机下,跳转后,此语句后面的语句会继续执行,如同新开了线程,但是对response的操作已经无意义了;
如果要跳到相同主机下,此语句后面的语句执行完成后才会跳转;
二. response.setHeader("Location","")

此语句前不允许有out.flush(),如果有,页面不会跳转。
跳转后浏览器地址栏变化
此语句后面的语句执行完成后才会跳转
三. <jsp:forward page="" />

跳转后浏览器地址栏不变,但是只能跳到当前主机下
此语句后面的语句执行完成后才会跳转


------解决方案--------------------
在2.jsp中保存在request里面 request.setAttribute("key","value"); 
然后在1.jsp里 request.getParameter("key") 取出值
------解决方案--------------------
1 2 楼的 给的这么详细!顶了!
------解决方案--------------------
是啊 放进session最省事了
------解决方案--------------------
用session可以,不过尽量少用
还可以放隐藏域提交
或者以URL参数传递
放在一个JS全局变量也可以
------解决方案--------------------
最可靠就放在request或session里面吧, 用完记得要removeAttribute
------解决方案--------------------
直接把form作用域到session最简单了,只要记得remove就行了