
可以使用Servlet类来传递
返回一个RequestDispatcher对象
该对象的forward()方法用于转发请求
RequestDispatcher getRequestDispatcher(String path)
例如:requestgetRequestDispatcher(“url”),forward(request,response);
设置追加请求中所需的属性参数
Void setAttribute(“属性名”,”属性值”)
例如:request,setAttribute(“username”,”administrator”);
用于获取请求中携带的属性参数
Object getAttribute(“属性名”)
例如:String usernam=(String)requestgetAttribute(“username”);
响应对象response方法:responsesendRedirect(“url”);
用于充定向一个新的URL地址
经常配合使用session会话对象进行所需属性参数的传递
例如:session,setAttribute(“username”,”administrator”);
sessionserAttribute(“password”,”123456”);
If()username!=null{
Outprintln(“欢迎你:”+usernametoString()
}
2转发和重定向的区别
分别从5个点进行划分区别
(1)URl变化:转发不会发生变化,重定向会改变地址栏的URL
(2)重新发出请求:转发不会,从头至尾只有一次请求,重定向会发起两次请求
(3)是否携带请求:转发会携带request相关信息,重定向不会携带,所以会丢失
(4)目标URl要求:转发只能跳转WEB项目下的目标文件,重定向可跳转任意URL
(5)行为区别:转发时服务器端的行为,重定向时客户端行为
3四中常用的跳转方式
(1)后台发起转发请求
requestgetRequestDispatcher(“indexjsp”)forward(request,response);
(2)后台发起重定向
ResponsesendRedirect(“indecjsp”);
<!--3jsp标签跳转 相当于前端的转发-->
<jsp:forward page=”indexjsp”>
<jsp:param value=”admin” name=”user name”>
<jsp:param value=”123456” name=”password”>
</jsp:forward>
<!--4超链接跳转 get请求方式跳转页面 类似于前段的重定向-->
<a href=”indexjspusername=admin&admin&password=123456”>跳转indexjsp</a>
jsp中获取redirect的值一般有两种方式:
1、requestgetRequestDispatchforward( "/testjsp ")用来转向到另一个页面,能把该页面中的数据比如:request,传入到转向的页面,实现浏览器网址不改变
2、responsesendRedict( "/testjsp ")页面重定向到另一个页面,实现浏览器网址改变。
第1种方法才能获得页面传过去的值。
而sendRedict 是获取不到值的。要用第一种方法才能获取到值得。
用requestgetParameter("name");来获取。
另外,还可以用sessionsetAttributeI("",""); 来传值
jsp是无法直接或取页面中js变量的值,但是可以通过间接的方法,用html的方法
例如:
<input
id="data"
type="hidden"
value="你想要的数据"
/>
在html里定义一个上面的标签,把js的值放到标签里,然后jsp去获得这个值
以上就是关于jsp与java文件怎么传递数据全部的内容,包括:jsp与java文件怎么传递数据、jsp中怎么提取redirect中参数的值、怎么在jsp页面中获取js的变量值等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)