Jsp-request与requestScope的区别

本文详细解析了request对象的使用,包括getParameter()和setAttribute()方法,以及EL表达式中的requestScope和param标签的应用场景。阐述了这些方法在处理客户端数据和服务器间数据传递中的作用。

(1)request对象通常用来接收从客户端通过表单提交过来的数据,然后在servlet或者action中用request.getParameter()的方法获取获取参数内容;

(2)而requestScope通常是在servlet和action中通过request.setAttribute()方法把数据放到request对象中供客户端获取,然后客户端获取的方法就是requestScope.getAttribute()。

(1)getParameter():
可以获取从URL传递过来的String参数
提示:对于post和get提交的表单,我们都可以通过request.getParameter()来获取表单的参数值。
当我们进行一个请求重定向(redirect)的时候,可以通过request.setParameter()设置要传递的参数,而如果用request.setAttribute()在重定向页面取不到传递的参数值;

(2)getAttribute():
获取的是一个对象(Object)
当我使用请求转发(forward)的时候,可以使用request.setAttribute()传递参数;

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

(5)param:
如${param.username },类似request.getParameter(“username”);

结论就是:
①request.getParameter(“username”)等价于${param.username },它们一般用在服务器获取页面或客户端的内容,这些内容都是String的;

②request.getAttribute(“username”)等价于${requestScope.username},一般是从服务器传递数据到页面,在页面中获取服务器保存在其中的数据内容。

举例:
EL表达式中的requestScope标签的使用

在我们平常开发中经常会碰到需要把后台数据库中查询到的数据源展现到界面上,这时候我们就会用到EL表达式中的requestScope标签。首先关于requestscope的定义是:是EL表达式的隐藏对象,包含request作用域内变量的Map。

例如:使用<jsp:useBean id=“person” class=“bean.Person”/>声明了person对象后,使用${requestScope.person.age}将输出person的age属性。

关于requestscope和request.getParameter()

requestscope主要用于数据的展示,从request隐藏对象中取出对象或者变量来显示。而request中的对象或变量是通过request.setAttribute方法放入request对象中的。

request.getParameter则更多的应用于后台方法中,它的参数是由表单接受用户输入的之后提交请求时被放入到request对象中。

在我们的案例中,我们从后台查询了一张表格的数据,通过<c:forEach var=“item” items="${requestScope.PAGE.data}" varStatus=“num”>来遍历数据进行数据展示。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值