240926-request.setAttribute()为什么不起作用?

165 阅读1分钟

问题

String del = request.getParameter("delMe");    
request.setAttribute("delMe","2");  
del = request.getParameter("delMe"); // del为1 

为什么setAttribute不生效?

结论

不是不生效,而是setAttribute 要和 getAttribute 一起使用!
getParameter获取的值为String,而getAttribute获取的值为Object!

所以

String del = request.getParameter("delMe");  
request.setAttribute("delMe","2");  
del = request.getAttribute("delMe"); // del为2

解释

Attribute为Request的共享域(一次请求Request的范围,一般用于转发请求forward时共享数据,重定向sendRedirect不可以共享,因为是两个Request了)。

getParameter获取的是请求参数数据,和Attribute是两个东西,不提供set方法。

参考文章

更多Request内容建议学习javaWeb的参考书。

bbs.csdn.net/topics/7017…