`

JSF表达式语言

    博客分类:
  • JSF
阅读更多
JSF表达式语言
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

    Java代码中使用JSP/JSF表达式语言(EL,Expression Language)是Web开发中的一个核心概念,它允许开发者在页面上动态地访问和操作JavaBean或其他数据源的数据。EL提供了一种简洁的方式来读取和设置Java对象的属性,...

    JavaServer Faces 表达式语言.doc

    JSF表达式语言允许开发者轻松地访问页面Bean以及其他与Web应用相关的Bean(如会话Bean和应用Bean)中的JavaBeans组件。这不仅提升了开发效率,还增强了应用的灵活性。 #### 二、JSF EL表达式语法 JSF表达式语言采用...

    《JSF入门》简体中文版.pdf

    JSF表达式语言(EL)提供了一种表达式语法,用于访问和操作数据。EL简化了对 Managed Beans、属性和其他应用程序数据的访问,使得开发人员能够方便地在JSF页面中插入逻辑。 在开发JSF应用程序时,通常需要对HTTP的...

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

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

    JSF入门(一)

    组件可以通过JSF表达式语言(EL)与后台bean的数据进行绑定,实现数据的双向绑定。 **3. EL(Expression Language)** EL是用于在JSF中访问和操作Java对象的简洁表达式语言。它可以用来获取或设置bean的属性值,...

    JSF配置.pdf

    JSF表达式语言(EL)是一个用于访问应用程序数据的语言,可以在JSF页面中使用它来绑定UI组件和后端bean的属性。 #### 1.6 国际化信息 JSF支持国际化和本地化,允许开发者创建支持多种语言和地区设置的应用程序。JSF...

    jsf入门指南,网页版,特别适合新手学习,我刚接触jsf就是看得这个

    JSF表达式语言是用于访问JavaBean属性和方法的一种简洁语法。例如,`#{bean.property}`可以获取或设置JavaBean的属性。EL与JSF组件结合使用,可轻松实现数据绑定。 **五、Managed Beans** Managed Beans是JSF中的...

    清晰版--JSF入门.pdf

    JSF表达式语言是一种用于在JSF视图组件中引用Managed Beans的属性和方法的语言。它使用EL语法(如`#{bean.property}`)来获取或设置Managed Beans中的值。 **1.6 国际化信息** JSF支持多语言和多地区格式的显示,...

    JSF_EL_介绍.doc

    JSF_EL,即JSF表达式语言,是JSF框架内置的一种强大的工具,允许开发者在Web页面中直接访问JavaBeans组件,而无需编写复杂的Java代码。JSF_EL使得组件能够轻松地与后端数据源交互,包括页面Bean、会话Bean和应用程序...

    JSF入门教程

    JSF表达式语言是一种轻量级的语言,用于在XHTML页面中引用托管Bean的属性和方法。它的语法以`#{}`开头和结尾,可以用来绑定页面元素与托管Bean之间的数据。 **1.6 国际化信息** JSF提供了内置的支持来处理国际化...

    《JSF入门 - 简体中文版》.pdf

    JSF表达式语言(EL)是一种简单的脚本语言,用于在JSF页面中引用Bean的属性和方法,以及执行简单的计算。EL的使用可以极大地减少页面中的代码量,并提高代码的可读性和可维护性。例如,通过EL可以在JSF页面中直接访问...

    jsf开发详解--入门,文档

    JSF表达式语言是用于访问JavaBean属性和JSF上下文对象的简洁语法。例如,`#{bean.property}`可以用来获取或设置JavaBean的属性值。EL与JSP EL兼容,但提供了更多的JSF特定功能。 **5. Managed Beans** Managed ...

    《JSF入门》简体中文版

    JSF表达式语言是一种轻量级的数据访问语言,用于在JSF页面中引用托管Bean的属性和方法。EL语法简单直观,如`#{bean.property}`可用于访问名为`bean`的托管Bean的`property`属性。 **1.6 国际化信息** 国际化是指使...

    jsf2项目开发及所需各种标签集合

    - JSF表达式语言(EL):一种表达式语法,用来访问JavaBeans组件的属性或方法。 - JSF标签库:包含核心标签库、HTML标签库、复合组件标签等,用于构建和维护用户界面。 - RichFaces标签库:是JSF2的一个扩展库,...

    学习JSF的中文教程

    - **JSF表达式语言**:了解JSF表达式语言(EL)的基础用法,它是连接UI组件和后端Bean的重要桥梁。 - **国际化**:掌握如何在JSF项目中实现国际化(i18n),确保应用程序支持多种语言。 #### 3. ManagedBeans - **...

Global site tag (gtag.js) - Google Analytics