request.getParameter()和request.getAttribute()有何区别?
为什么会问这个问题呢?
是因为我在用过滤器传递用户未登陆的参数flag时,在js脚本代码中,想用EL表达式将这个值给取出来,var flag = "${flag}";结果一直取不出来。后来我百度了,从地址栏传递过来的参数得用var flag = "${param.flag}";才能取出来。
${flag}相当于request.getAttribute("flag"),而${param.flag}相当于request.getParameter("flag")。
不知道上述说法正不正确?
那么从地址栏传递过来的参数我应该用request.getParameter()方法获得,那么其他情况呢?
什么时候我应该用request.getParameter()来获得request域中的参数,什么时候我应该用request.getAttribute()来获取呢?
正在回答
你的说法是正确的,其实用一个更简单的说法就可以区分开来,request.getAttribute()方法返回的是对象,而request.getParameter()方法是获取http提交过来的数据。这是他俩最主要的区别。譬如我在jsp页面的表单中提交了数据,我就可以在对应的servlet中使用request.getParameter()来获取数据,当在jsp页面中使用setAttribute()方法存放一个对象并转发到对应的servlet中时,这时就需要用request.getAttribute()来获取request中的对象了。祝学习愉快~
- 参与学习 人
- 提交作业 1088 份
- 解答问题 10205 个
如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!
了解课程
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星