怎么能在第三个页面使用第一个页面里输入的参数?

mrdove 2011-11-19 04:18:33
本人刚刚开始研究javaweb,很多不懂的地方还要请教各位达人。下面遇到一个问题请赐教。感激不尽!

我在尝试开发一个小的查询系统,用来学习研究javaweb。

现在有三个JSP页面
页面1:输入若干数据,使用form,然后action到第二页面;
页面2:可以选择不同的查询内容,选择后跳转到第三个页面;
页面3:使用页面1的参数进行数据库查询。(页面3负责查询数据库和显示结果)

请问,我怎么能在第三个页面使用页面1里输入的参数?

...全文
270 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
mrdove 2011-12-06
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 killer_jok 的回复:]
session最好是少用。
可以写一个form表单
假设 参数xxx1,xxx2
<form>
<input type="hidden" name="xxx1" value="a传递xxx1的值">
<input type="hidden" name="xxx2" value="a传递xxx2的值">
</form>
跳传的时候提交下form表单。
如果是用get方……
[/Quote]

我的第一个页面数据数是通过数组传输的,到第三个页面的时候会报空指针错误。。get不到。怎么办?
七_号 2011-11-21
  • 打赏
  • 举报
回复
session最好是少用。
可以写一个form表单
假设 参数xxx1,xxx2
<form>
<input type="hidden" name="xxx1" value="a传递xxx1的值">
<input type="hidden" name="xxx2" value="a传递xxx2的值">
</form>
跳传的时候提交下form表单。
如果是用get方式,这样就可以xxx.do?xxx1=a传递xxx1的值&xxx2=a传递xxx2的值
c.jsp取的时候 还是用request.getParameter
a为第一个页面,c.jsp为第三个页面
w546631572 2011-11-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jietoulangren 的回复:]

将页面一得数据暂存到session中可以实现
[/Quote]


这位大哥正解!

最简单的就是SESSION了,也是最基本了。其他几种方式也行,就看那种适合了!

session. setAttribute();
session. getAttribute();

方法告诉你,具体实验方法就看帮助文档吧,这样更准确。
m540920181 2011-11-20
  • 打赏
  • 举报
回复
[Quote=引用楼主 mrdove 的回复:]
本人刚刚开始研究javaweb,很多不懂的地方还要请教各位达人。下面遇到一个问题请赐教。感激不尽!

我在尝试开发一个小的查询系统,用来学习研究javaweb。

现在有三个JSP页面
页面1:输入若干数据,使用form,然后action到第二页面;
页面2:可以选择不同的查询内容,选择后跳转到第三个页面;
页面3:使用页面1的参数进行数据库查询。(页面3负责查询数据库和显示结果)
……
[/Quote]

使用一个session就好了,
宁波朱超 2011-11-20
  • 打赏
  • 举报
回复
这种问题的解决 啊参数 放 SESSION里 放 COOKIE里都不是最佳实践,用隐藏表单域来做。
  • 打赏
  • 举报
回复
9楼正解
[Quote=引用 9 楼 xtj332 的回复:]
也可以不再session

在第二个页面跳转的时候,比如这样写:

Java code

{
.........
String user = request.getParameter("username"); //假定你第一个页面,表单里面有user

request.setAttribute("user", user);
this.getServletContext().……
[/Quote]
freewind 2011-11-20
  • 打赏
  • 举报
回复
也可以不再session

在第二个页面跳转的时候,比如这样写:
{
.........
String user = request.getParameter("username"); //假定你第一个页面,表单里面有user

request.setAttribute("user", user);
this.getServletContext().getRequestDispatcher("/doUpdate.jsp").forward(request, response);
....
}


那么就可以在第三个页面里面,使用:


String str = request.getAttribute("user");


得到第一个页面的user的值。
wang7535067 2011-11-20
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 magong 的回复:]
1楼正解。
因为跨请求了,必须要借助于session域、context(application)域、数据库、hidden input、Cookie等这些能跨请求的方式来传收了。
[/Quote]

同意,因为session是保存在内存里,太耗资源。
Think Nothing 2011-11-19
  • 打赏
  • 举报
回复
一般用页面元素hidden来保存,或者放在session对象中
ycj370833904 2011-11-19
  • 打赏
  • 举报
回复
可以 把值 放到 session 中啊 ……
或者 是通过问号传参啊 …… 都可以! 如 :
"xxx.jsp?a='你要传的值1'&b='你要传的值2'"
chabale 2011-11-19
  • 打赏
  • 举报
回复
1.存放到session中
2.存放到cookie中
xiaoqiuwyh 2011-11-19
  • 打赏
  • 举报
回复
用session吧,放到session里,就都能取到了。
liushuaibaicai 2011-11-19
  • 打赏
  • 举报
回复
嗯。其实也可以传给第二页,然后第二页在传一次。嗯,接力。
magong 2011-11-19
  • 打赏
  • 举报
回复
1楼正解。
因为跨请求了,必须要借助于session域、context(application)域、数据库、hidden input、Cookie等这些能跨请求的方式来传收了。
JieTouLangRen 2011-11-19
  • 打赏
  • 举报
回复
将页面一得数据暂存到session中可以实现

81,092

社区成员

发帖
与我相关
我的任务
社区描述
Java Web 开发
社区管理员
  • Web 开发社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧