本文介绍JSP中request属性的用法,以及request.getParameter() 和request.getAttribute() 区别。

一、request.getParameter() 和request.getAttribute() 差异

了解JSP中request特点的用法(jsp中request的作用)  request JSP 第1张

1.request.getParameter()取得是经过容器的完成来取得经过相似post,get等办法传入的数据,request.setAttribute()和getAttribute()只是在web容器内部流通,仅仅是恳求处理阶段。

2.request.getParameter()办法传递的数据,会从Web客户端传到Web服务器端,代表HTTP恳求数据。request.getParameter()办法回来String类型的数据。

request.setAttribute()和getAttribute()办法传递的数据只会存在于Web容器内部还有一点便是,HttpServletRequest类有setAttribute()办法,而没有setParameter()办法。拿一个比如来说一下吧,假设两个WEB页面间为链接联系时,便是说要从1.JSP链接到2.JSP时,被链接的是2.JSP能够经过getParameter()办法来取得恳求参数.

假设1.JSP里有

  1. <formname="form1"method="post"action="2.jsp">
  2. 请输入用户姓名:<inputtype="text"name="username">
  3. <inputtype="submit"name="Submit"value="提交">
  4. form>

的话在2.JSP中经过request.getParameter("username")办法来取得恳求参数username:

< % String username=request.getParameter("username"); %>可是假如两个WEB间为转发联系时,转发意图WEB能够用getAttribute()办法来和转发源WEB同享request规模内的数据,也仍是说一个比如吧。有1.JSP和2.JSP

1.JSP希望向2.JSP传递当时的用户姓名,怎么传递这一数据呢?先在1.JSP中调用如下setAttribute()办法:

  1. <%
  2. Stringusername=request.getParameter("username");
  3. request.setAttribute("username",username);
  4. %>
  5. <jsp:forwardpage="2.jsp"/>
  6. 在2.jsp中经过getAttribute()办法取得用户姓名:
  7. <%Stringusername=(String)request.getAttribute("username");%>

二、request.getAttribute()与request.setAttribute()

request.getAttribute("nameOfObj")可得到JSP页面一表单中控件的Value。其实表单控件中的Object的 name与value是存放在一个哈希表中的,所以在这里给出Object的name会到哈希表中找出对应它的value。

而不同页面间传值运用request.setAttribute(position, nameOfObj)时,只会从a.JSP到b.JSP一次传递,之后这个request就会失掉它的效果规模,再传就要再设一个 request.setAttribute()。而运用session.setAttribute()会在一个过程中一直保有这个值。

P.S.:JavaScript与JSP中不能彼此传值,由于JavaScript运行在客户端,而JSP运行在服务器端。若想使它们之间能够彼此传递参数,能够在JSP中设置一个hidden控件,用它的value结合上面所说的用法来传递所需的数值。

【修改引荐】

  1. 简略介绍JSP数据库高档操作
  2. 完成JSP数据和JavaScript数据交互运用
  3. JSP和Servlet中的几个编码的效果及原理
  4. 怎么处理JSP页面显现乱码问题
  5. 在JSP顶用JDBC衔接各种数据库
转载请说明出处
知优网 » 了解JSP中request特点的用法(jsp中request的作用)

发表评论

您需要后才能发表评论