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

jsp和servlet的传值问题
我在jsp中用request.setAttribute( "users ",users)方法传一个Vector类型的对象,然后我在Servlet中用request.getAttribute( "users ")方法得到这个对象,在保证users对象正确且有内容时,用以上的方法无法取得users对象,报错是空值,请问这是怎么回事,望提供解决办法(不能存在session中)谢谢

------解决方案--------------------
request对象用一次就没了
------解决方案--------------------
表单hidden提交看看行么
------解决方案--------------------
up
------解决方案--------------------
帮顶
------解决方案--------------------
这个问题我曾经也碰到过,不过现在已经解决啦!问题出在,请求jsp页面和在jsp向servlet发出的请求并非为同一请求,此时你可以将--向jsp页面发出的请求通过协作对象(RequestDispathcher dispatcher = request.getRequestDispathcer())的forword( "转交的一面 ")方法把请求转交到servlet,这样你就可以在servlet中取到值啦!
------解决方案--------------------
你想想看如果request不是同一个request的话,你怎么能get到东西,用forward可以把request,response传递下去
------解决方案--------------------
请求要发送到servlet,form的action要是对应的servlet,用getRequestDispathcer()的forward也是一个意思
------解决方案--------------------
用application作用域试试
------解决方案--------------------
jsp 是无法使用requestdispach对象的。如果给serlvet 并用request域 传值,需要使用jsp:include 或jsp:forward