当前位置: 首页 > 图文教程 > Java技术 > Java基础 > EL 表达式的默认变量

Java基础
apatche组件的研究和使用
定时执行任务的三种方法
Java各种路径和参数
我看如何选择java和.net
Java关闭窗体的六种方法
java中容易迷惑的知识点
一个简单Thread缓冲池的实现
Java Swing中键盘事件的处理
解读内存优化编程
Java中Set的深入研究
一套JDOM操作XML文件的Base Class
Java堆和栈的区别
Thread类和Runable接口
java 定时执行任务,java定时器
递归(recursion)
java访问各种数据库连接代码
也谈JAVA值传参和引用传参
(转)一个牛人给java初学者的建议
java gui学习
JNI中文处理问题小结

Java基础 中的 EL 表达式的默认变量


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-12-26   浏览: 260 ::
收藏到网摘: n/a

下面要和大家分享的是EL 表达式的默认变量,一个 EL 表达式包含变量和操作符两个内容。任何存在于 JSP 作用范围的 JavaBean 都可以被转化成 EL 表达式来使用,它所包含的默认变量如下:

1 .默认变量 pageScope requestScope sessionScope applicationScope

4 个默认变量包含 Scope 作用范围的参数集合,相当于被保存在 java.util.Map 中的某个参数。

使用 sessionScope 变量的 EL 表达式

<%request.getSession().setAttribute("sampleValue", new Integer(10));%>

${sessionScope.sampleValue}

取得保存在 Session 中参数的 sessionScope 变量的 EL 表达式,“ . ”是 property 访问操作符,在这里表示从 Session 中取得“键”为“ sampleValue ”的参数,并显示出来。显示结果为“ 10 ”。

2 .默认变量 param paramValues

这两个默认变量包含请求参数的集合, param 表明请求包含的参数为单一控件, paramValues 表明请求包含的参数为控件数组。下面看一个简单示例 9.3

9.3 :提交请求的页面和接受的页面

<%@ page contentType="text/html; charset=UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<body>

<form action="SampleJsp.jsp">

<input type="text" name="sampleValue" value="10">

<input type="text" name="sampleValue" value="11">

<input type="text" name="sampleValue" value="12">

<input type="text" name="sampleSingleValue" value="SingleValue">

<input type="submit" value="Submit">

</form>

</body>

</html>

在这个页面中定义了两组控件,控件名为“ sampleValue ”的是一套控件数组,控件名为“ sampleSingleValue ”的是单一控件,通过递交将请求参数传送到 SampleJsp.jsp

<%@ page contentType="text/html; charset=UTF-8"%>

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">

<html>

<body>

${paramValues.sampleValue[2]} <br>

${param.sampleSingleValue} <br>

</body>

</html>

这是请求转发到的页面,通过 EL 表达式的 paramValues 变量得到控件数组中最后一个控件的递交参数,通过 EL 表达式的 param 变量得到单一控件的递交参数。控件数组参数的 EL 表达式使用“ [] ”来指定数组下标。本示例将显示控件数组中最后一个控件的值“ 12 ”和单一控件的值“ SingleValue ”。

3 .默认变量 header headerValues

这两个默认变量包含请求参数头部信息的集合, header 变量表示单一头部信息, headerValues 则表示数组型的头部信息。

4 .默认变量 cookie

包含所有请求的 cookie 集合,集合中的每个对象对应 javax.servlet.http.Cookie

5 .默认变量 initParam

包含所有应用程序初始化参数的集合。

6 .默认变量 pageContext

等价于 page 环境类 javax.servlet.jsp.PageContext 的实例,用来提供访问不同的请求参数。11 个默认变量几乎包含了 Web 应用的所有基本操作,若一个表达式不使用这些变量而直接使用参数名,那么就采用就近原则。该表达式将使用最近取得的参数值。