之前写了一个jsp页面,里面使用了request.setAttribute()这个方法来传递参数,然后将这个参数传递到一个servlet页面进行处理,写的时候没有问题,但是运行的时候却报了空指针错误,错误的那行代码刚好就是获取这个参数的那行代码,百思不得其解,后来发现原来是这样。
我们都知道jsp里面request作用域的作用范围是一次请求到响应的过程,而jsp页面提交数据到servlet页面使用的是重定向的方式(看浏览器上的URL地址就知道了)而不是转发的方式,使用重定向方式的时候是不能使用request.setAttribute()方法来传递参数的,因为request作用域变了,不在是这个请求了,而是另一个请求了。
关于这个问题的解决方法就是在表单里面设置一个隐藏域或者使用session.setAttribute()这个方法,因为jsp里面的session作用域范围是从开始会话到结束会话,只要你不结束会话使用重定向或者转发方式都一样。
jsp页面使用request.setAttribute()提交到servlet中接收不到?
最新推荐文章于 2024-09-02 15:52:13 发布