`
lianxiangbus
  • 浏览: 530154 次
文章分类
社区版块
存档分类
最新评论

request、requestScope、param区别

 
阅读更多

搜了一下,整理如下……

首先在看遇到的问题:

在浏览器地址输入,表示传入一个参数test,值为123

http://localhost:8888/Test/index.jsp?test=123


在index.jsp中尝试使用EL表达式取出,代码如下:

 <body>
    ${test}
 </body>

发现毫无结果,再使用requestScope尝试取出:

  <body>
    ${requestScope.test}
  </body>

发现还是毫无结果,感到非常诧异,遂干脆使用java脚本尝试取出。

  <body>
      <%request.getAttribute("test"); %>
  </body>


依然无解。

之后发现,若使用已下代码向request作用域赋值,则用上面代码可以取出

<%
    request.setAttribute("test", "123");
 %>

查询资料后发现,使用以下代码可以取出之前的请求参数:
EL:

  <body>
    ${param.test}
  </body>

JAVA脚本:

  <body>
      <%=request.getParameter("test") %>
  </body>

结论就是:${param.name} 等价于 request.getParamter("name")一般是从页面或者客户端获取的内容,

     ${requestScope.name}等价于request.getAttribute("name")一般是从服务器段传过来的,可以传到客户端也可以传到服务器里面(即,方法1传到方法2,服务器内部的传输)


pageContext.request是一个具体的对象,在你的http请求过程中存在。
requestScope是一个定义, 表明一个http请求的整个声明周期,它只是一个定义而已,不是一个对象。 EL中你可以在这个周期中放置、获取对象。(当然,其实真正的操作也是针对request对象的)。

requestScope通常是将某个变量或者对象在servlet或者acion中通过request.setAttribute()方法放入到request对象中,然后在页面中使用requestScope来进行数据的显示的
而request.getparameter则是则是更多的用在servlet或者action中,它的作用是接受表单提交来的数据,比如你的jsp页面中的表单提交的数据。
两者的区别是:requestScope更多的用于展示页面,从request对象中取出对象或者变量来显示,而request中的对象或者变量也是程序员通过手动的方式request.setAttribute方法来放入request对象中的
而request.getparameter则更多的应用于后台的方法中,它的参数不是程序员手动设置的,而是由表单来接受用户输入的值会随着用户的请求被放入request对象中。


分享到:
评论

相关推荐

    EL与JSP相关内置对象

    EL内置对象: pageContext pageScope requestScope sessionScope applicationScope param paramValues header headerValues cookie initParam

    EL表达式详解

    1) EL概述 ...的 JAVA代码. ·EL表达式可操作常量、变量和隐式对象。 最常用的隐式对象有${param}和...requestScope 表示请求对象的变量. sessionScope 表示会话范围内的变量. applicationScope 表示应用范围的变量.

    EL表达式的详细使用

    例如,EL 表达式可以使用 ${requestScope.objectName} 访问一个 JSP 请求范围的对象,还可以使用 ${requestScope.objectName.attributeName} 访问对象的属性。 sessionScope 将会话范围的变量名称映射到其值。该...

    EL表达式 (详解)

    值.pageScope表示页面范围的变量.requestScope表示请求对象的变量. sessionScope表示会话 范围内的变量.applicationScope表示应用范围的变量. 3 --&lt;%@ page isELIgnored="true"%&gt; 表示是否禁用EL语言,TRUE...

    浅谈SpringMVC jsp前台获取参数的方式 EL表达式

    ${requestScope.msg} ${sessionScope.msg2} JAVA: ModelAndView ModelMap Model里添加的参数 JSP: 直接用${参数名} JAVA: 前台表单里的信息,或者是直接在url后面以?name=value&name2=value2形式传到后台的 JSP...

    简单的一个学生管理系统 servlet+JSP

    ${requestScope.students}" var="student" varStatus="num"&gt; ${num.count} ${student.sname} &lt;td&gt;&lt;c:out value="${student.spass}" default=" " /&gt; ${student.sage} ${...

    这是一个分页插件的jsp代码

    分页插件,页面添加代码;"&gt; ${total }" url="user/findAlluser.do" maxIndexPages="3" maxPageItems="5" export="current... scope="request"&gt; &lt;pg:param name="user_name" value="${user_name }" /&gt; &lt;/div&gt;

    JSF文件上传

    &lt;managed-bean-scope&gt;request&lt;/managed-bean-scope&gt; MyBean如下: package com.dhc; import java.io.BufferedInputStream; import java.io.FileOutputStream; import java.io.InputStream; import javax....

    SpringMVC-Mybatis-Shiro-redis-master 权限集成缓存中实例

    ... ...建议自己下载源码,让Demo跑起来,然后跑的更快,有问题加群解决。 声明: ... &lt;scope&gt;provided&lt;/scope&gt; 如果还是不能解决问题,请在官方群(群号:259217951)内搜索“jstl” 如图下载依赖包。

    JSP Simple Examples

    When we have a closely related data of the same type and scope, it is better to declare it in an array. Multidimensional array java A two dimensional array can be thought as a grid of rows and ...

    J2EE面试题

    c) 如果aa.jsp有代码:&lt;jsp:forward page="next.jsp"&gt;&lt;jsp:param name="name" value="jb-aptech" /&gt;,则在next.jsp中可以使用request.getAttribute("name");把属性name的值取出来。 d) 如果&lt;jsp:param&gt;标记放在...

    ssh(structs,spring,hibernate)框架中的上传下载

     我们前面已经指出Oracle的Lob字段和一般类型的字段在操作上有一个明显的区别--那就是你必须首先通过Oracle的empty_blob()/empty_clob()初始化Lob字段,然后获取该字段的引用,通过这个引用更改其值。所以要完成对...

    jsp音乐网源码

    &lt;jsp:useBean class="com.dao.SongDAO" id="songDAO" scope="request"/&gt; &lt;%List&lt;SongTypeForm&gt; list=songDAO.queryType();%&gt; String typeID="0"; String fieldName=""; String key=""; if(request.getAttribute(...

    Java-Web程序设计题库(2).doc

    A、name B、param C、property D、scope 20、以下方法中,哪一个方法不就是Servlet类得方法( B )。 A、doGet B、doService C、doPost D、doDelete 21、以下类中,哪一个类不就是javax、servlet与...

    Java-Web程序设计题库.doc

    A、name B、param C、property D、scope 20、以下方法中,哪一个方法不就是HTTPServlet类的方法( B )。 A、doGet B、doService C、doPost D、doDelete 21、以下类中,哪一个类不就是javax、servlet与javax、servlet、...

    DWR.xml配置文件说明书(含源码)

    “scope参数允许你配置creator的生命周期,共有以下几个选项:application,session,request,page.这些参数对于用过jsp或servlet的开发人员并不陌生. 3.1 Uing static methods 如果你想远程调用一个creator的静态方法,...

    Practical Mod Perl

    The Scope of mod_perl Configuration Directives Section 4.7. Apache Restarts Twice Section 4.8. Enabling Remote Server Configuration Reports Section 4.9. Tips and Tricks Section ...

    Myeclipse开发struts+hibernate+spring新手入门--环境配置---项目开发示例

    14 &lt;action attribute="LoginForm" input="/login.jsp" name="LoginForm" path="LoginAction" scope="request" type="com.test.web.action.LoginAction" validate="true"&gt; 15 16 17 18 19 20 21 22 对应...

    Developing Flex Applications 910p dda_doc88_cracker.zip

    This package contains 3 kid: 1. a book Developing Flex Applications 2. a web page viewer for doc88 ebt ... CONTENTS PART I: Presenting Flex CHAPTER 1: Introducing Flex....About Flex....

    JavaEE 5.0 Tutorial.pdf

    Sun 官方 J2ee 5.0 教程 The Java EE 5Tutorial For Sun Java System Application Server 9.1 Contents Preface ..................................................................................................

Global site tag (gtag.js) - Google Analytics