关于EL表达式中requestScope和param区别

今天演示EL表达式的时候发现自己jsp的基础实在是薄弱,在这个很简单的问题上迷惑了很久。

首先在看遇到的问题:

在浏览器地址输入,表示传入一个参数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"),一般是从服务器传递结果到页面,在页面中取出服务器保存的值。

 ${requestScope.name} 等价于 request.getAttribute("name") 等价于${name}

参考资料:

el表达式中的${param}

http://topic.csdn.net/u/20090103/15/779af9b8-c3a7-4f3e-82fe-b08bf2630996.html

 

 

时间: 2024-09-20 07:58:59

关于EL表达式中requestScope和param区别的相关文章

el格式化-EL表达式中的fmt标签格式化问题!

问题描述 EL表达式中的fmt标签格式化问题! EL表达式的fmt标签能不能将123456格式化成1234.56 求解!!!! 解决方案 http://wangcheng2008china.blog.163.com/blog/static/128635503201121624424281/ 解决方案二: EL 表达式 fmt标签

EL表达式中如何连接两个字符串

问题描述 <%@taglibprefix="c"uri="http://java.sun.com/jsp/jstl/core"%><%@taglibprefix="fn"uri="http://java.sun.com/jsp/jstl/functions"%><c:setvar="str"value="Java"></c:set><

关于el表达式中比较字符串时的一个问题

问题描述 判断函数 fn:contains 函数fn:contains 函数用来判断源字符串是否包含子字符串.它包括 string 和 substring 两个参数,它们都是 String 类型,分布表示源字符串和子字符串.其返回结果为一个 boolean 类型的值.下面看一个示例.${fn:contains("ABC", "a")}<br>${fn:contains("ABC", "A")}<br>前

el表达式中怎么计算变量长度,如${aa.length}

问题描述 aa是个变量,该怎么写啊,我要根据长度来判断 解决方案 <%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>fn:length(colList)

JSF中EL表达式之this扩展

本篇文章来自以前公司的一套jsf+seam+Hibernate的一套框架,其对jsf进行了一些改进,其中包括:EL表达式中添加this,通过jsf的渲染实现权限控制到按钮等等.JSF表达式中添加this,主要是为了在facelets页面使用this关键字引用(JSF自动查找)到当前页面对应的pojo类,详细说明见下午.因为,本文的文章是公司同事整理的,本文作者仅仅是将其分享出来,供大家参考思路,如果有什么不妥的话,请告知. EL表达式this扩展 在业务系统中,大量页面具有大量区域是相似或者相同

当freemarker中EL表达式的值为空时出现异常的解决方法

 <#list pageView.list as msg>      <form name="msgForm" id="msgForm" action="findMsgById.do" method="post">   <tr class="tr3" onMouseOver="this.style.backgroundColor='whitesmoke'"

Jsp内置对象及EL表达式及相关问题讲解

一.JSP的内置对象(9个JSP内置对象) JSP的内置对象引用名称 对应的类型 request HttpServletRequestresponse HttpServletResponsesession HttpSession(有开关的:page指令的session属性的取值)application ServletContextconfig ServletConfigpage this(当前Servlet对象)exception java.lang.Throwable(有开关:page指令的i

JSP EL表达式详细介绍

一.JSP EL语言定义 E L(Expression Language) 目的:为了使JSP写起来更加简单. 表达式语言的灵感来自于 ECMAScript 和 XPath 表达式语言,它提供了在 JSP 中简化表达式的方法.它是一种简单的语言,基于可用的命名空间(PageContext 属性).嵌套属性和对集合.操作符(算术型.关系型和逻辑型)的访问符.映射到 Java 类中静态方法的可扩展函数以及一组隐式对象. EL 提供了在 JSP 脚本编制元素范围外使用运行时表达式的功能.脚本编制元素是

④品茶看&lt;Servlet&amp;JSP&gt;-EL表达式

前言 今早,概率课偷了下小懒写的:   泡一杯红茶,ACM集训前,写篇博客记录记录EL表达式. #EL介绍 ①EL 语法 ②访问JavaBean等 ③EL隐式对象 ④EL运算符   EL介绍 EL 全名为Expression Language.受ECMAScript 和XPath 表达式的语言启发.EL 的语法比传统JSP Scriptlet 更为方便.简洁.   EL 语法   ①基本知识 ${为起始.以}为结尾的,构造:${expression}.接下来比较下: JSP Scriptlet获