- 浏览: 232862 次
- 性别:
- 来自: 广东
文章分类
最新评论
-
wangmuchang:
解压需要密码
CAS单点登录之测试应用 -
ayang722:
首先就要在运行报表birt的IEngineTask中加入, J ...
birt配置动态数据源 -
lihong11:
very good!
js常用方法 -
qtlkw:
你共享出来为什么要密码?要密码为何要共享出来?汗
CAS单点登录之测试应用 -
lishouxinghome:
请问如何获得用户的Id呢,往指点
使用 CAS 在 Tomcat 中实现单点登录
EL(表达式语言)是一种数据访问语言,可以方便地访问和处理应用程序数据,而无需使用scriptlet或者请求时(request-time)表达式的值。(不需要使用来获得数据,EL使JSP页面编写人员摆脱了java语言,使用户即使不懂JAVA也可以轻松编写JSP程序
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>
EL表达式运算符包括算数运算符(+-*/),关系运算符(>< )和逻辑运算符(&& || !),还有empty 判断值是否为空,同时EL能够对字符串,数字等各种类型的数据之间的自动转换.
JSP2.0中各种运算符运算实例
以下是EL运算符列表,+ 加 - 减 * 乘 /或div 除 % 或 mod 模(求余) == 或 = 等于 ;
!= 或 != 不等于 < 或 lt 小于 >或gt 大于 < =或le 小于等于 >=或ge 大于等于 ;
&& 或 and 逻辑与 || 或 or 逻辑或 ! 或 not 逻辑非 empty 检查是否为空值 ;
a ? b : c 条件运算符 ;EL表达式使用简单,在网页中"${}"表示是EL表达式。${1+1} 显示为 2 .
内置的11个隐含对象:
为方便的获得WEB应用程序的相关数据,EL表达式语言定义了一些隐含对象。隐含对象共有11个对象,(JSP中具有9个隐含对象,EL比JSP中具有更多的隐含对象,这样EL比JSP更方便的获取数据) 使用这些对象可以很方便的访问Web 程序数据。
隐含对象包括Session(获得当前web程序的Session值),cookie(获得WEB程序的Cookie值),header,headerValues(获得用户的Http数据访问头部信息),Param和ParamValues(获得用户提交数据参数)等。
使用${隐含对象名称["元素"]} 就可以获得这个值了,例如${header("host")} 可以显示http头部中host的值,${param("username")},可以获得显示用户表单提交的用户. 使用${empty(param("username")} 可以判断用户提交表单是否为空等。(这样比jsp1.2中使用request.getParamter("username") 要简化和方便很多了)
EL 表达式定义了11个隐含对象,使用这11个对象可以很方便的读取到session,cookie,HttpHeader,用户提交表单(param)等.
applicationScope 应用程序范围内的scoped变量组成的集合
cookie 所有cookie组成的集合
header HTTP请求头部,字符串
headerValues HTTP请求头部,字符串集合
initParam 全部应用程序参数名组成的集合
pageContext 当前页面的javax.servlet.jsp.PageContext对象
pageScope 页面范围内所有对象的集合
param 所有请求参数字符串组成的集合
paramValues 所有作为字符串集合的请求参数
requestScope 所有请求范围的对象的集合
sessionScope 所有会话范围的对象的集合
下面是获取HTTP访问头部数据和用户提交数据的示例
EL表达式 运算结果
${header["host"]} 这里得到HTTP连接头部的host值
${header["accept"]} 这里获得HTTP头部的accept值
${header["user-agent"]} 这里获得HTTP头部的user-agent值
访问应用程序数据
除了可以方便的访问内置的隐含对象外,EL还可以方便的到应用程序数据,访问应用程序数据使用两种方式 . (点号运算符)访问对象的属性,也可以使用[] 来访问数组元素(实际上EL中访问隐含对象数据也是使用这两种方式的)
表达式${data}表示名为data的scoped变量。可以使用点号(.)或方括号([])运算符从集合中检索属性值:(两种数据访问方式演示)
点号运算符用于访问命名的属性,比如表达式${customer.name}表示scoped变量customer的name属性;
方括号运算符可用于检索命名的属性,比如在${customer[“name”]}中。也可以通过${customers[0]}的形式来访问集合customers中的第一项。
EL表达式语言同时还统一了对点号和方括号运算符的处理,因此${customer.name}与${ customer[“name”]}是等价的。
以下可以读取用户提交的信息,假设用户提交信息为 ?name=myname&alies=now.net.cn(这里有两种访问方式,一种是使用[]来进行访问,另外一种是使用"."来进行访问,两种访问效果是一样的。)
${param["name"] } myname
${param.name} myname
${param["alies"] } now.net.cn
${param.alies} now.net.cn
访问应用程序数据需要进行以下几个步骤:
1.编写public类的static public 方法,只有static public的方法才能被标记表达试访问。
JSP2.0中定义和使用函数
表达式语言允许你定义可在表达式中调用的函数。函数必须作为public类中的public static方法编写。同时要将文件映射到TLD标志库文件中。
为了说明函数的使用,我们举一个简单的例子,把两个数相加。首先要编写求两数之和的Java方法代码,如代码示例所示,这里定义了一个静态方法,它接收两个字符串参数,把它们解析成整数并返回它们的和。
示例文件:Compute.java
package jsp2.examples.el; import java.util.*; public class Compute { public static int add(String x, String y) { int a = 0; int b = 0; try { a = Integer.parseInt(x); b = Integer.parseInt(y); }catch(Exception e) {} return a + b; } } 用javac把这段代码编译成功后,下一步就要把函数的签名映射到标签库。
2.将方法映射到TLD表中
配置标记库描述文件 函数描述符
< function> < description>add x and y< /description> < name>add< /name> < function-class>jsp2.examples.el.Compute < /function-class> < function-signature>int add(java.lang.String,java.lang.String) < /function-signature> < /function> 现在我们就可以编写一个JSP页面来使用这个函数。代码示例5是包含两个字段的一个表单,用户输入两个数字并按下“求和”按钮,就会调用上面的函数并把两个数相加,结果在同一个页面中显示出来。
3.在JSP页面中调用要引用的Taglib标记,然后就可以在jsp页面中访问了。
代码示例5: math.jsp
< %@ taglib prefix="my" uri="http://jakarta.apache.org/tomcat/jsp2-example-taglib %>
< HEAD>
< TITLE>Functions< /TITLE>
< /HEAD>
< BODY>
< H3>Add Numbers< /H3> < P>
< FORM action="math.jsp" method="GET"> X =
< input type="text" name="x" value="${param["x"]}"> < BR> Y =
< input type="text" name="y" value="${param["y"]}">
< input type="submit" value="Add Numbers"> < /FORM>
< P> The sum is: ${my:add(param["x"],param["y"])}
< /BODY> < /HTML>
补充:获取list的长度
<%@ taglib uri="http://java.sun.com/jsp/jstl/functions" prefix="fn"%>
${fn:length(rowList)}
发表评论
-
ssh框架加入atomikos分布式事务管理
2015-01-06 18:48 1470一、概念 分布式事务分布式事务是指事务 ... -
Spring 动态切换数据源
2014-05-09 14:30 3640一、开篇 这里整合分别采用了Hibernate和MyB ... -
Spring切入点表达式常用写法
2014-05-09 14:25 818自从使用AspectJ风格切面配置,使得Spring的切面配 ... -
Spring中线程池的应用
2014-03-24 11:03 899多线程并发处理起来通常比较麻烦,如果你使用spring容器来 ... -
Spring线程池开发实战
2014-03-24 11:02 756本文提供了三个Spring多线程开发的例子,由浅入深,由于例 ... -
JSch - Java实现的SFTP(文件上传详解篇)
2013-11-21 09:36 901JSch是Java Secure Channel的缩写。J ... -
JAVA线程池ThreadPoolExecutor
2013-07-17 14:45 899java.util.concurrent.ThreadPoo ... -
log4j.properties 使用说明
2013-05-29 10:54 812一、Log4j简介Log4j有三个主要的组件:Logger ... -
eclipse安装反编译插件(附jad下载)
2012-12-12 10:45 826一、eclipse反编译插件Jadclipse jadclip ... -
web.xml 配置404和500错误的自定义页面
2012-12-07 11:47 816web.xml <error-page>< ... -
java内存溢出
2012-06-28 18:57 871一、常见的Java内存溢出 ... -
List Set Map区别
2012-12-25 17:54 918List有序key和value都能重 ... -
Java 自定义Annotation(元数据、注解)
2011-08-05 11:50 1910Annotation在java的世界正铺天盖地展开,有空写这一 ... -
LOG4J properties 配置文件
2011-06-29 16:31 1174一、参数意义说明1、输出级别的种类 ERROR、 ... -
servlet输出一个文件
2010-11-10 18:33 1170String fileName= file.getName() ... -
关于RSS、RDF、ATOM和Feed
2010-11-02 09:48 1226RSS被不同的技术团体做不同的解释,分别有 Rich Site ... -
正确理解Traceback的含义
2010-11-02 09:44 1010Traceback是Blog的一个重要 ... -
关于Serializable的serialVersionUID
2010-10-26 09:10 1758众所周知,当某class实现了Serializable接口 ... -
获得CLASSPATH之外路径的方法
2010-10-14 10:37 961URL base = this.getClass().getR ... -
操作properties文件
2010-10-14 10:30 807发个例子大家自己看哈.package control; im ...
相关推荐
**在JSP2.0中使用EL表达式语言** EL(Expression Language)是JSP2.0引入的一种强大的数据访问语言,它简化了JSP页面中的数据操作,使得开发者无需编写scriptlet()就能方便地访问和处理应用程序中的数据。EL的...
但同时,了解EL表达式的另一个新特性也很重要,那就是它作为JSP 2.0中的一个主要新特性,为JSP页面提供了表达语言支持,让访问JSP隐含对象和JavaBeans组件变得更为简单和方便。JSTL(JavaServer Pages Standard Tag ...
3. **EL表达式**:JSP 2.0引入了EL(Expression Language),它是一种简洁的脚本语言,用于在JSP页面中访问JavaBean属性,简化了数据绑定的过程。 **EL表达式** EL表达式是JSP 2.0的核心特性之一,用于获取和设置...
### EL表达式语言详解 #### 9.1 概述 在JSP页面开发中,为了提高代码的可读性和可维护性,开发者们逐渐转向使用标签库来替代传统的Java片段语言来实现页面的显示逻辑。然而,自定义标签虽然灵活,但也容易导致重复...
总结来说,JSP 2.0的表达式语言EL为开发者提供了一种强大且简洁的方式,用于在JSP页面中访问和操作数据,极大地提高了开发效率和代码的可读性。结合JSTL的使用,可以进一步提升JSP应用程序的结构化和可维护性。对于...
JSP2.0表达式语言(Expression Language,简称EL)是JavaServer Pages规范的一部分,旨在简化开发者在JSP页面中访问Java对象的过程。相较于传统的JSP脚本元素,EL提供了更为直观、简洁的语法,使得Web开发人员能够...
它简化了在JSP页面中获取和操作数据的过程,尤其是在属性值中使用表达式时。EL表达式通常以`${}`包裹,其基本结构是`${expression}`。 在JSTL中,EL语言只能在属性值中使用,有以下三种使用方式: 1. **通过`value...
JSP EL预定义了一些隐式对象,如`pageContext`、`request`、`response`等,可以直接在EL表达式中使用。这使得开发者无需编写额外的JSP脚本就能访问请求参数或响应头。 **7. EL的优点** - **简洁性**:EL的语法简洁...
**JSP 2.0与EL表达式语言** JSP(JavaServer Pages)是一种用于创建动态网页的技术,它允许开发者将HTML代码与Java代码混合编写,以实现动态内容的生成。JSP 2.0是JSP技术的一个重要版本,引入了许多改进和新特性,...
1. **EL上下文**:EL表达式在EL上下文中执行,它可以访问JSP作用域内的所有对象(page,request,session,application)。 2. **作用域优先级**:EL会按照page -> request -> session -> application的顺序查找变量...
3. **隐式对象**:EL提供了一些预定义的隐式对象,如`pageContext`、`request`、`response`等,可以直接在表达式中使用,方便访问HTTP请求和响应的信息。 4. **运算符支持**:EL支持常见的算术运算符(+、-、*、/、...
在JavaServer Pages (JSP) 2.0版本中引入了一项重要的新特性,即表达式语言(EL),它极大地简化了在JSP页面中访问JavaBean属性和表达式求值的方式。EL提供了一种简洁、易于阅读的语法,使得开发者可以更高效地处理...
3. **EL隐式对象**:EL提供了一些预定义的对象,如`pageContext`、`request`、`response`等,可以直接在EL表达式中使用。 总结来说,JSP EL表达式是JavaWeb开发中的强大工具,它简化了数据访问,提高了开发效率,是...
JSP提供了一些预定义的EL隐式对象,如`pageContext`、`request`、`session`和`application`,它们可以直接在EL表达式中使用。此外,还有`param`和`paramValues`用于访问请求参数,`header`和`headerValues`用于访问...
1. **隐式对象**:EL提供了许多内置的隐式对象,如`pageContext`、`request`、`response`等,可以直接在表达式中使用。 2. **函数库**:EL支持通过`fn:`前缀使用JSTL的函数库,如`fn:length()`可以计算数组或集合的...
EL(Expression Language),即表达式语言,是JavaServer Pages (JSP) 2.0标准的一部分,用于简化JSP页面中对数据访问的操作。它允许开发者通过简单的语法在JSP页面中访问后端数据,无需编写复杂的Java代码。 #####...
如果使用的是只支持Servlet2.3/JSP1.2的容器,如Tomcat 4.1.29,那么无法直接在JSP网页中使用EL,需要安装支持Servlet2.4/JSP2.0的容器。 EL表达式以`${`开始,以`}`结束。它提供两种运算符来存取数据:点(`.`)...
EL定义了一组隐式对象,可以直接在表达式中使用,包括: - **pageContext**:提供对JSP页面上下文的访问,可以获取如`request`、`response`、`session`、`out`和`servletContext`等对象。 - **param**:映射请求...
具体实现方式是通过自定义EL函数,然后在EL表达式中调用这些方法。 #### 五、总结 EL表达式是JSP页面中一种非常实用的技术,它简化了数据的访问和处理过程,提高了开发效率。通过理解EL表达式的语法和特性,开发者...