JSP
表达式语言
(EL)
JSP
用于在网页上显示动态内容
,
通常需要在
JSP
页面中嵌入
Java
脚本以完成复杂功能。但大量的
Java
脚本使得
JSP
页面难以维护。一种类似
JavaScript
语言
—JSP
表达式语言可用于在网页上生成动态内容,并代替
JSP
脚本元素
(
表达式、
Script
、声明
)
,
EL
表达式可用于所有的
HTML
和
JSP
标签中。
EL 表达式语法:
${ EL expression}
其中:
$ 表示 EL 表达式的开始。
EL expression 指定表达式。
一、 JSP EL 表达式可用于如下几种方式。
EL 表达式语法:
${ EL expression}
其中:
$ 表示 EL 表达式的开始。
EL expression 指定表达式。
一、 JSP EL 表达式可用于如下几种方式。
1 静态文本:包含EL表达式,其值在运行时计算出来。
如: ${8+5}
2 标准标签和自定义标签属性:帮助显示网页上的动态内容。
JSP提供一些标准标签,<jsp:useBean>、<jsp:include>等。自定义标签是由用户使用taglib指令编写的。
EL表达式可以作为一个值传递给上述标签的属性。表达式在运行时计算,结果值将作为属性值进行传递。
如:
<%
如: ${8+5}
2 标准标签和自定义标签属性:帮助显示网页上的动态内容。
JSP提供一些标准标签,<jsp:useBean>、<jsp:include>等。自定义标签是由用户使用taglib指令编写的。
EL表达式可以作为一个值传递给上述标签的属性。表达式在运行时计算,结果值将作为属性值进行传递。
如:
<%
pageContext.setAttribute("color","#ffccff");
%>
<body bgcolor="${pageScope.color}">
7+8=${7+8}
</body>
3 JavaBean 与EL表达式:使用EL表达式可以简洁地读出JavaBean的属性值。
传统的JSP通常使用如下方法访问JavaBean:
<jsp:getProperty name= ” myBean ” property= ” name ” />
<%=myBean.getName()%>
EL 表达式则简化为:
${myBean.name}
二、启用/禁用EL表达式
<%@ page isELIgnored= ” true|false ” %>
为true时,支持EL表达式计算。
为false时,不支持EL表达式计算。
三、变量
3 JavaBean 与EL表达式:使用EL表达式可以简洁地读出JavaBean的属性值。
传统的JSP通常使用如下方法访问JavaBean:
<jsp:getProperty name= ” myBean ” property= ” name ” />
<%=myBean.getName()%>
EL 表达式则简化为:
${myBean.name}
二、启用/禁用EL表达式
<%@ page isELIgnored= ” true|false ” %>
为true时,支持EL表达式计算。
为false时,不支持EL表达式计算。
三、变量
JSP
表达式${product}的计算结果与调用pageContext.findAttribute(
“
product
”
)
一样,EL表达式中的变量可以引用存储在标准范围(如:page request session application)中的属性。
点运算符(.)和 ” [] ” 用于获取变量的值。
如:a.identifier-b与expr-a[identifier-b]等价。
点运算符(.)和 ” [] ” 用于获取变量的值。
如:a.identifier-b与expr-a[identifier-b]等价。
四、隐式对象
JSP 隐式对象是一组标准的类。在JSP EL定义了如下隐式对象:
1 pageContext:提供对页面属性的访问。通过pageContext对象可以访问和使用下列对象。
2 request:表示接受的客户端的JSP页面请求。请求的信息可以使用request对象来访问。如:${pageContext.request.contextPath}返回请求的上下文路径。
3 param:返回将请求参数名映射至单个字符串值的值。如:${param[ “ name ” ]}
4 paramValues :返回映射至客户端的请求参数的一组值。
5 pageScope:返回页面范围的变量名,这些名称已映射至相应的值。
6 requestScope:提供对请求对象的属性的访问权限。
7 sessionScope:返回会话范围内的变量名。
8 applicationScope: 返顺应用程序范围内抽变量名。
五、文字常量
JSP 表达式语言定义了下列文字常量:
1 布尔型: true 或 false 。
2 整型:与 Java 中的整型相同。
3 浮点型:与 Java 中的浮点型相同。
4 字符串型:用单引号或双引号引起。
5 null :表示没有值。 0 和空字符串表示的不是 null 值。
JSP 表达式语言定义了下列文字常量:
1 布尔型: true 或 false 。
2 整型:与 Java 中的整型相同。
3 浮点型:与 Java 中的浮点型相同。
4 字符串型:用单引号或双引号引起。
5 null :表示没有值。 0 和空字符串表示的不是 null 值。
点运算符 (.) 和 ”[]” 用于获取变量的值。
! 或 not 布尔值取反
empty 检查空值
* 乘法
/ 或 div 除法
% 或 mod 求余数或取模
+ 加
- 减
< 或 lt 小于
> 或 gt 大于
<= 或 le 小于等于
>= 或 ge 大于等于
== 或 eq 等于
!= 或 ne 不等于
&& 或 and 逻辑与
|| 或 or 逻辑或
num1?num2:result 条件运算符