EL(表达式语言)是一种数据访问语言,可以方便地访问和处理应用程序数据,而无需使用scriptlet或者请求时(request-time)表达式的值。(不需要使用< % 和%>来获得数据,EL使JSP页面编写人员摆脱了java语言,使用户即使不懂JAVA也可以轻松编写JSP程序.
在JSP2.0之前,网页作者只能使用表达式< %= aName %>访问系统的值,比如:
< someTags:aTag attribute="< %= pageContext.getAttribute("aName") %>">
或者
< % = aCustomer.getAddress().getCountry() %>
而表达式语言允许网页作者使用简单的语法访问对象。比如要访问一个简单变量,可以像下面这样写:
< someTags:aTag attribute="${aName}">
Tomcat对EL扩展表达式的支持和配置:
tomcat5.0默认支持EL,同时用户可以在Web.xml文件中对整个web应用程序进行设置或者在每个页面中单独设置page指令来控制TOMCAT是否对EL的支持。
有了JSP2.0,就可以使用EL扩展表达式了。对于一个单个JSP页面,你可以使用定义page指令来设置jsp页面是否支持EL。默认是支持EL(如果要页面不支持EL,请设置为isELIgnored=true;
- < %@ page isELIgnored="true|false"%>
对于整个JSP应用程序,要修改WEB.XML配置(tomcat5.0.16默认是支持EL的);
- < jsp-property-group>
- < description> For config the ICW sample application < /description>
- < display-name>JSPConfiguration< /display-name>
- < url-pattern>/jsp/datareset.jsp< /url-pattern>
- < el-ignored>true< / el-ignored>
- < page-encoding>ISO-8859-1< /page-encoding>
- < scripting-invalid>true< /scripting-invalid>
- < include-prelude>/jsp/prelude.jspf< /include-prelude>
- < include-coda>/jsp/coda.jspf< /include-coda>
- < /jsp-property-group>
-------------
JSP2.0中各种运算符运算实例
以下是EL运算符列表,其中empty可以检查某个值是否为空
运算符 说明
+ 加
- 减
* 乘
/或div 除
% 或 mod 模(求余)
== 或 = 等于
!= 或 != 不等于
< 或 lt 小于
>或gt 大于
< =或le 小于等于
>=或ge 大于等于
&& 或 and 逻辑与
|| 或 or 逻辑或
! 或 not 逻辑非
empty 检查是否为空值
a ? b : c 条件运算符
----------------------------
EL表达式使用简单,在网页中"${}"表示是EL表达式。${1+1} 显示为 2
----------------------------
JSP2.0中EL算术表达式 运算结果
- ${1} 1
- ${1 + 2} 3
- ${1.2 + 2.3} 3.5
- ${-4 - 2} -6
- ${21 * 2} 42
- ${10%4} 2
- ${10 mod 4} 2
- ${1 < 2} true
- ${1 lt 2} true
- ${1 > (4/2)} false
- ${4.0 >= 3} true
- ${4.0 ge 3} true
- ${100.0 eq 100} true
- ${(10*10) != 100} false
- ${(10*10) ne 100} false
- ${(1==2) ? 3 : 4} 4
----------