jsp servlet cookiesrequest.getCookies()永远都是null。

解决jsp向servlet传值为null的问题
jsp关键代码:
BookInfo bi = (BookInfo)request.getAttribute("bi") ;
request.setAttribute("id", bi.getId()) ;
&form action="update.do"
method="post"&
&input type="text" name="bookname"
value="&%=bi.getBookname()
servlet关键代码:
if(actionUrl.equals("/update.do")){
&&String id =
(String)request.getAttribute("id");;System.out.println(id) ;
bookname = request.getParameter("bookname")
;System.out.println(bookname) ;}
执行结果:servlet可以取得bookname的值,但是id的值为null.
分析原因:用request.setAttribute()保存的数据只能在同一个请求的前提下取到,在不同的请求之间属性会重置。
解决方法:
(1)在form表单传值:
在form表单里加上&input type="hidden" name="id"
value="&%=bi.getId()
%&"/&,在servlet中用request.getParameter取值。
(2)使用session会话机制:
在jsp页面设置session: session.setAttribute("id", bi.getId())
,在servlet中取值:String id =
(String)request.getSession().getAttribute("id") 。
(3)URL传值:
在form表单提交URL中传递参数:&form
action="update.do?id=&%=bi.getId()
method="post"&,servlet用request.getParameter取值。
总结:jsp向servlet传递参数有三种方法:form表单,session和URL传值
已投稿到:
以上网友发言只代表其个人观点,不代表新浪网的观点或立场。本帖子已过去太久远了,不再提供回复功能。

我要回帖

更多关于 request.cookies 的文章

 

随机推荐