JSF的表达式语言(EL)的形式跟jSP的表达式语言的形式类似:#{...}。EL的主要用途是使你可以引用和更新bean的属性,或者执行简单的语句,而不用写完整的Java代码。
l JSF EL基于JSP 2.0中的表达式语言,它的用法几乎跟JSP2.0中的表达式语言一样,但二者仍有一些关键不同:
l JSF使用(#)来标记表达式的开始,而JSP使用($);
l JSF表达式是双向的。即它可以引用属性的值也可以更新之;
l JSF EL也允许引用对象方法;
l 某些JSP特定的特征无效,比如页面上下文范围(page);
l JSF EL表达式可以通过常规Java代码求解(结果是可以不需要JSP);
l 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)是个三元运算,expression为true显示result1,false显示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,Expression Language)是Web开发中的一个核心概念,它允许开发者在页面上动态地访问和操作JavaBean或其他数据源的数据。EL提供了一种简洁的方式来读取和设置Java对象的属性,...
JSF表达式语言允许开发者轻松地访问页面Bean以及其他与Web应用相关的Bean(如会话Bean和应用Bean)中的JavaBeans组件。这不仅提升了开发效率,还增强了应用的灵活性。 #### 二、JSF EL表达式语法 JSF表达式语言采用...
JSF表达式语言(EL)提供了一种表达式语法,用于访问和操作数据。EL简化了对 Managed Beans、属性和其他应用程序数据的访问,使得开发人员能够方便地在JSF页面中插入逻辑。 在开发JSF应用程序时,通常需要对HTTP的...
使用Facelets视图声明语言、托管bean和JSF表达式语言(EL)。按照JSF导航模型声明一个页面,包括新的“隐式导航”功能。使用用户界面组件模型和JSF事件模型,包括支持可添加书签的页面以及POST、REDIRECT、GET模式。...
组件可以通过JSF表达式语言(EL)与后台bean的数据进行绑定,实现数据的双向绑定。 **3. EL(Expression Language)** EL是用于在JSF中访问和操作Java对象的简洁表达式语言。它可以用来获取或设置bean的属性值,...
JSF表达式语言(EL)是一个用于访问应用程序数据的语言,可以在JSF页面中使用它来绑定UI组件和后端bean的属性。 #### 1.6 国际化信息 JSF支持国际化和本地化,允许开发者创建支持多种语言和地区设置的应用程序。JSF...
JSF表达式语言是用于访问JavaBean属性和方法的一种简洁语法。例如,`#{bean.property}`可以获取或设置JavaBean的属性。EL与JSF组件结合使用,可轻松实现数据绑定。 **五、Managed Beans** Managed Beans是JSF中的...
JSF表达式语言是一种用于在JSF视图组件中引用Managed Beans的属性和方法的语言。它使用EL语法(如`#{bean.property}`)来获取或设置Managed Beans中的值。 **1.6 国际化信息** JSF支持多语言和多地区格式的显示,...
JSF_EL,即JSF表达式语言,是JSF框架内置的一种强大的工具,允许开发者在Web页面中直接访问JavaBeans组件,而无需编写复杂的Java代码。JSF_EL使得组件能够轻松地与后端数据源交互,包括页面Bean、会话Bean和应用程序...
JSF表达式语言是一种轻量级的语言,用于在XHTML页面中引用托管Bean的属性和方法。它的语法以`#{}`开头和结尾,可以用来绑定页面元素与托管Bean之间的数据。 **1.6 国际化信息** JSF提供了内置的支持来处理国际化...
JSF表达式语言(EL)是一种简单的脚本语言,用于在JSF页面中引用Bean的属性和方法,以及执行简单的计算。EL的使用可以极大地减少页面中的代码量,并提高代码的可读性和可维护性。例如,通过EL可以在JSF页面中直接访问...
JSF表达式语言是用于访问JavaBean属性和JSF上下文对象的简洁语法。例如,`#{bean.property}`可以用来获取或设置JavaBean的属性值。EL与JSP EL兼容,但提供了更多的JSF特定功能。 **5. Managed Beans** Managed ...
JSF表达式语言是一种轻量级的数据访问语言,用于在JSF页面中引用托管Bean的属性和方法。EL语法简单直观,如`#{bean.property}`可用于访问名为`bean`的托管Bean的`property`属性。 **1.6 国际化信息** 国际化是指使...
- JSF表达式语言(EL):一种表达式语法,用来访问JavaBeans组件的属性或方法。 - JSF标签库:包含核心标签库、HTML标签库、复合组件标签等,用于构建和维护用户界面。 - RichFaces标签库:是JSF2的一个扩展库,...
JSF表达式语言(EL)用于在组件中绑定数据和方法,使得能够方便地访问和操作bean中的属性。例如,`#{bean.property}`用于引用后台bean的属性。 **四、Facelets和JSF视图** Facelets是JSF推荐的视图表示技术,它允许...