欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

getParameter和getAttribute以及EL表达式中requestScope和param两个隐含对象的区别

程序员文章站 2022-07-12 13:28:09
...

 

Last Modified:2013年8月5日 16:09:08

*********************************

getParametergetAttribute以及EL表达式中requestScopeparam两个隐含对象的区别

 

 

1getParameter

可以获取URL中传递过来的String参数,如:http://www.baidu.com?username=abc 中的abc

提示:对于POST/GET提交的表单,在服务器端我们都可以通过request.getParameter获取表单中的值。

当我们在进行一个请求重定向(redirect)的时候,我们可以通过request.setParameter传递参数,如果用request.setAttribute在重定向页面是取不到值的。

 

2getAttribute

获取的是一个对象(Object)。

当我们进行一个请求转发(forward)的时候,可以使用request.setAttribute传递参数。

 

3requestScope

EL表达式中的一个隐含对象,类似request,如:${requestScope.username} 表示在request域中取得username属性所对应的值,相当于request.getAttribute(“username”)

 

4param

${param.username} 可理解为:request.getParameter(“username”)

 

 

结论就是:

${param.name} 等价于 request.getParamter("name")这两种方法一般用于服务器从页面或者客户端获取的内容,这些内容都是String的。

${requestScope.name} 等价于 request.getAttribute("name"),一般是从服务器传递结果到页面,在页面中取出服务器端保存的值!