request.getParameter()和request.getAttribute()有何区别?

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()来获取呢?

正在回答

登陆购买课程后可参与讨论,去登陆

1回答

你的说法是正确的,其实用一个更简单的说法就可以区分开来,request.getAttribute()方法返回的是对象,而request.getParameter()方法是获取http提交过来的数据。这是他俩最主要的区别。譬如我在jsp页面的表单中提交了数据,我就可以在对应的servlet中使用request.getParameter()来获取数据,当在jsp页面中使用setAttribute()方法存放一个对象并转发到对应的servlet中时,这时就需要用request.getAttribute()来获取request中的对象了。祝学习愉快~

问题已解决,确定采纳
还有疑问,暂不采纳

恭喜解决一个难题,获得1积分~

来为老师/同学的回答评分吧

0 星
从网页搭建入门Java Web2018版
  • 参与学习           人
  • 提交作业       1088    份
  • 解答问题       10205    个

如果你有Java语言基础,又想以后从事Java Web开发,那么本路径是你的不二选择!本路径从网页搭建开始入手,通过大量案例来学习Java Web基础。定能助你完成Java Web小白的蜕变!

了解课程
请稍等 ...
意见反馈 帮助中心 APP下载
官方微信

在线咨询

领取优惠

免费试听

领取大纲

扫描二维码,添加
你的专属老师