`

JSF表达式语言

    博客分类:
  • j2ee
阅读更多
JSF的表达式语言(EL)的形式跟jSP的表达式语言的形式类似:#{...}。EL的主要用途是使你可以引用和更新bean的属性,或者执行简单的语句,而不用写完整的Java代码。
JSF EL基于JSP 2.0中的表达式语言,它的用法几乎跟JSP2.0中的表达式语言一样,但二者仍有一些关键不同:
JSF使用(#)来标记表达式的开始,而JSP使用($);
JSF表达式是双向的。即它可以引用属性的值也可以更新之
JSF EL也允许引用对象方法;
某些JSP特定的特征无效,比如页面上下文范围(page);
JSF EL表达式可以通过常规Java代码求解(结果是可以不需要JSP);
JSF EL不官方支持函数。
JSF EL也支持“.”和“[]”取值。它支持全范围的算术运算、逻辑运算与关系运算:
1.      算术运算有:
加法 (+), 减法 (-), 乘法 (*), 除法 (/ or div) 与余除 (% or mod) 。下面是算术运算的一些例子:
表达式
结果
#{1}
1
#{1 + 2}
3
#{1.2 + 2.3}
3.5
#{1.2E4 + 1.4}
12001.4
#{-4 - 2}
-6
#{21 * 2}
42
#{3 / 4}
0.75
#{3 div 4}
0.75,除法
#{3 / 0}
Infinity
#{10 % 4}
2
#{10 mod 4}
2,也是求模
#{(1 == 2) ? 3 : 4}
4
如同在Java语法一样 ( expression ? result1 : result2)是个三元运算,expressiontrue显示result1false显示result2
2. 逻辑运算:
and(&&)or(!!)not(!)。一些例子为:
表达式
结果
#{true and false}
false
#{true or false}
true
#{not true}
false
3. 关系运算:
小于Less-than(<、lt)、大于Greater-than (>、gt)、小于或等于Less-than-or-equal(<=、le)、大于或等于Greater-than-or-equal(>=、ge)、等于Equal(==、eq)、不等于Not Equal(!=、ne),由英文名称可以得到lt、gt等运算子之缩写词,以下是一些例子:
表达式
结果
#{1 < 2}
true
#{1 lt 2}
true
#{1 > (4 / 2)}
false
#{1 > (4 / 2)}
false
#{4.0 >= 3}
true
#{4.0 ge 3}
true
#{4 <= 3}
false
#{4 le 3}
false
#{100.0 == 100}
true
#{100.0 eq 100}
true
#{(10 * 10) != 100}
false
#{(10 * 10) ne 100}
false
关系运算也可以用来比较字符或字符串,按字典顺序来决定比较结果,例如:
表达式
结果
#{'a' < 'b'}
true
#{'hip' > 'hit'}
false
#{'4' > 3}
true
4. Empty
用来测试空值(null、空字符串、数组、Map或者没有值的Collection),如:
表达式
结果
#{empty ''}
true
#{empty 'abcd'}
false
JSF EL能搜索Java Web应用的三个范围:application、session、request中以匹配特定关键字的对象。因为JSF一定要锁定到JSP,所以它不支持page范围。JSF EL支持的隐含变量有:cookie、header、headerValues、initParam、param、paramValues、applicationScope、sessionScope、requestScope、还有facesContext(当前请求的FacesContext实例)和view(当前视图)。
分享到:
评论

相关推荐

    Java代码中使用JSP/JSF表达式语言EL

    NULL 博文链接:https://rensanning.iteye.com/blog/2013260

    JavaServer Faces 2.0完全参考手册(JSF2.0中文版) 1/2

    使用Facelets视图声明语言、托管bean和JSF表达式语言(EL)。按照JSF导航模型声明一个页面,包括新的“隐式导航”功能。使用用户界面组件模型和JSF事件模型,包括支持可添加书签的页面以及POST、REDIRECT、GET模式。...

    JavaServer Faces 2.0完全参考手册(JSF2.0中文版).part1

    使用Facelets视图声明语言、托管bean和JSF表达式语言(EL)。按照JSF导航模型声明一个页面,包括新的“隐式导航”功能。使用用户界面组件模型和JSF事件模型,包括支持可添加书签的页面以及POST、REDIRECT、GET模式。...

    Spring EL.docx

    Spring Expression Language(简称SpEL)是一种功能强大的表达式语言、 在Spring3中就已经支持EL表达式了, Spring Expression Language(SpEL)是类似于OGNL和JSF EL的表达式语言, 能够在运行时构建复杂表达式, 存取...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    2.5.1 托管Bean的属性和表达式语言 69 2.5.2 托管Bean的方法 78 2.5.3 托管Bean的分类 80 2.5.4 初始化托管Bean的属性 85 2.5.5 通过FacesContext访问应用环境 89 2.6 导航模型 91 2.6.1 静态导航 93 2.6.2 动态导航...

    facelets模板

    在 JavaServer Faces (JSF) 2.0 中,Facelets 取代 ...Facelets 全面支持表达式语言 (EL) 和 JavaServer Pages Standard Tag Library (JSTL)。在 Web 应用程序中使用 Facelets 的部分好处包括模板化、重用和易于开发。

    Jakarta Struts 编程.rar

    第二版增加了新的章节来专门探讨安全、与JSF API的集成、JSP标准标记库(JSTL),以及Struts的表达式语言(EL)。此外,第二版对第一版中原有的主题也做了扩充。对于每一个自己所开发的企业系统,本书作者Chuck ...

    Script.NET脚本语言开发平台2.1.1版本

    10、封装的TclFace页面扩展包,可以通过面向对象的tcl脚本生成各种平台的页面功能,此扩展包除了可以用于本地应用程序生成页面之外,还可以运行于AOLServer WEB服务器,作为一种类似于JSF的服务器端脚本。

    JBoss Seam 工作原理、seam和hibernate的范例、RESTFul的seam、seam-gen起步、seam组件、配置组件、jsf,jboss、标签、PDF、注解等等

    Seam - 语境相关的组件[满江红20071230]............................................................................................................................ 1 Java EE 框架...........................

    免费下载:自己整理的java学习资料

    自己整理的一些资料,不...设计模式:Java语言中的应用.pdf JAVA思想.pdf JAVA6.0API_CN.CHM Java常见问题.pdf Java数据结构和算法中文第二版.pdf Java网络高级编程.pdf jsp高级运用 spring2中文开发参考手册.chm a.txt

    Lua开发包 for Script.NET V2.1.1

    10、封装的TclFace页面扩展包,可以通过面向对象的tcl脚本生成各种平台的页面功能,此扩展包除了可以用于本地应用程序生成页面之外,还可以运行于AOLServer WEB服务器,作为一种类似于JSF的服务器端脚本。

    Tcl开发包 for Script.NET V2.1.1

    10、封装的TclFace页面扩展包,可以通过面向对象的tcl脚本生成各种平台的页面功能,此扩展包除了可以用于本地应用程序生成页面之外,还可以运行于AOLServer WEB服务器,作为一种类似于JSF的服务器端脚本。

    Ruby开发包 for Script.NET V2.1.1

    10、封装的TclFace页面扩展包,可以通过面向对象的tcl脚本生成各种平台的页面功能,此扩展包除了可以用于本地应用程序生成页面之外,还可以运行于AOLServer WEB服务器,作为一种类似于JSF的服务器端脚本。

    NSIS开发包 for Script.NET V2.1.1

    10、封装的TclFace页面扩展包,可以通过面向对象的tcl脚本生成各种平台的页面功能,此扩展包除了可以用于本地应用程序生成页面之外,还可以运行于AOLServer WEB服务器,作为一种类似于JSF的服务器端脚本。

    Script.NET python 开发包

    封装的TclFace页面扩展包,可以通过面向对象的tcl脚本生成各种平台的页面功能,此扩展包除了可以用于本地应用程序生成页面之外,还可以运行于AOLServer WEB服务器,作为一种类似于JSF的服务器端脚本。

    J2EE应用开发详解

    149 9.4 JSF的组成 152 9.4.1 UI组件 152 9.4.2 JSF标签 154 9.5 统一EL 156 9.5.1 表达式和函数 156 9.5.2 操作符 157 9.5.3 保留字 158 9.5.4 内置对象 158 9.6 Backing Bean 158 9.7 创建自定义组件 162 9.8 小结...

    从Java走向Java+EE+.rar

    7.1.2 JSTL中使用表达式语言 93 7.2 实例——利用JSTL标签生成数字序列 95 7.3 小结 97 第8章 JavaBean组件 98 8.1 JavaBean是什么 98 8.2 实例——在JSP中调用JavaBean 99 8.3 小结 106 第9章 开源Web...

    spring4.3.9相关jar包

    spring-expression.jar:Spring表达式语言。 spring-instrument.jar:Spring对服务器的代理接口 spring-instrument-tomcat.jar:Spring对tomcat连接池的集成 spring-jms.jar:为简化jms api的使用而做的简单封装。 ...

Global site tag (gtag.js) - Google Analytics