文档章节

JSF---->JSF Expression Language

小强斋太
 小强斋太
发布于 2016/11/09 20:07
字数 1087
阅读 0
收藏 0
点赞 0
评论 0

JSF Expression Language 搭配 JSF 标签来使用,是用来存取数据对象的一个简易语言。 JSF EL是以#开始,将变量或表达式放置在{ 与 } 之间

一、引用简单的对象属性

<f:view>
    <h:outputText value="#{userBean.name}"/>
</f:view>
在JSF卷标的属性上," 与 " (或'与')之间如果含有EL,则会加以运算,您也可以这么使用它:
...
<f:view>
 名称, 年龄:
 <h:outputText value="#{userBean.name}, #{userBean.age}" />
</f:view>
...
一个执行的结果可能是这样显示的:

名称, 年龄:Justin, 29

二、访问复杂属性(Map、Collec­tion和数组)

对于Map型态对象,我们可以使用 '.' 运算子指定key值来取出对应的value,也可以使用 [ 与 ] 来指定

<h:outputText value="#{param['name']}"/>

如果变量是List型态或数组的话,则可以在 [] 中指定索引

<h:outputText value="#{someBean.someList[0]}"/>    

<h:outputText value="#{someBean.someArray[1]}"/>

三、使用EL来作为逻辑和数值语句,并且在表达式中混合使用字面值。

您也可以指定字面常数,对于true、false、字符串、数字,JSF EL会尝试进行转换

<h:outputText value="#{true}"/>

<h:outputText value="#{'This is a test'}"/>

如果要输出字符串,必须以单引号 ' 或双自变量 " 括住,如此才不会被认为是变量名称。在宣告变量名称时,要留意不可与JSF的保留字或关键词同名,例如不可取以下这些名称:

true false null div mod and or not eq ne lt gt le ge instanceof empty

使用EL,您可以直接实行一些算术运算、逻辑运算与关系运算,其使用就如同在一般常见的程序语言中之运算。算术运算子有:加法 (+), 减法 (-), 乘法 (*), 除法 (/ or div) 与余除 (% or mod) 。

四、方法绑定表达式

当使用EL来引用bean方法时,则称之为方法绑定表达式(method-binding expression)。方法绑定表达式,如"#{myBean.methodName}",用来将监听器方法或验证器方法关联至组件。

五、EL的变量名也可以程序执行过程中所宣告的名称,或是JSF EL预设的隐含对象,

JSF所提供的隐含对象,大致上对应于JSP隐藏对象,不过JSF隐含对象移除了pageScope与pageContext,而增加了facesContext与view,它们分别对应于javax.faces.context.FacesContext与javax.faces.component.UIViewRoot例如下面的程序使用param隐含对象来取得使用者输入的参数:

<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %> 
<%@ tagliburi="http://java.sun.com/jsf/html" prefix="h" %> 
<%@pagecontentType="text/html; charset=Big5"%>
<html>
 <head>
  <title></title>
 </head>
 <body>
  <f:view>
   <b>
    您好,
    <h:outputText value="#{param.name}" />
   </b>
  </f:view>
 </body>
</html>

JSF EL支持访问常用对象的隐含变量。它们中大多数同时也被JSP 2.0 EL所支持

 

隐含变量

 

说    明

 

实    例

JSP 2.0 EL是否支持?

 

applicationScope

应用作用域变量的Map,以名称作为关键字

#{applicationScope.myVariable}

 

 

cookie

一个当前请求的cookie值的Map,以cookie名称作为关键字

#{cookie.myCookie}

 

 

facesContext

当前请求的FacesContext 实例

#{facesContext}

 

 

header

当前请求的HTTP首部值的 Map,以header名称作为关键字。如果给定的header 名称有多个值,仅返回第1个值

#{header['User-Agent']}

 

 

headerValues

当前请求的HTTP首部值的 Map,以header名称作为关键字。对每个关键字,返回一个String数组(以便所有的值都能访问)

 

#{headerValues

['Accept-Encoding'][3]}

 

 

initParam

应用初始化参数的Map,以参数名称为关键字。(也称为servlet 上下文初始化参数,在部署描述符中设置)

 

#{initParam.adminEmail}

 

 

param

请求参数的Map,以header 名称作为关键字。如果对给定的参数名称有多个值,仅返回第1个值

 

#{param.address}

 

 

paramValues

请求参数的Map,以header 名称作为关键字。对每个关键字,返回一个String数组(以便可以访问所有的值)

 

#{param.address[2]}

 

 

requestScope

请求范围内的变量的Map,以名称作为关键字

#{requestScope.user-Preferences}

 

 

sessionScope

会话范围内的变量的Map,以名称作为关键字

#{sessionScope['user']}

 

view

当前视图

#{view.locale}

 

有两个变量是针对JSF的:facesContext和view。FacesContext实例代表当前正在处理的请求。它持有对当前应用消息栈、当前呈现包和其他一些有用对象的引用。对前端开发来说,view具有一些有用的属性:viewId、renderKitId和locale。

 

 

本文转载自:http://www.cnblogs.com/xqzt/archive/2012/05/17/5637342.html

共有 人打赏支持
小强斋太
粉丝 0
博文 181
码字总数 0
作品 0
广州
NetBeans IDE 7.0 M2 发布-下载

下载:NetBeans IDE 7.0 Milestone 2 该版本改进内容包括: Java Java EE GlassFish WebLogic Application Server Platform Editor PHP 关于 NetBeans 7.0 值得关注的改进请看这里。...

红薯 ⋅ 2010/10/18 ⋅ 3

JSF导航规则

导航规则设置 .... .... .... .... .... ....

科技小毛 ⋅ 2017/10/19 ⋅ 0

PrettyFaces 3.3.0 发布,JSF的URL扩展

PrettyFaces是一个JSF1.2和JSF2.0的扩 展,用来创建便于书签收藏、漂亮的网址。 PrettyFaces优雅的解决了这个问题,包括诸如功能:网页装载行动,无缝的跟faces的导航整合,动态视图的ID分配...

红薯 ⋅ 2011/07/02 ⋅ 0

Resin 4.0.8 发布 - 通过 CDI 兼容性认证

Caucho 日前发布了 Resin 4.0.8 版本,该版本最值得关注的是通过了 CDI 规范的兼容性测试,不过目前官网上尚未提供 Resin 4.0.8 版本的下载。 Resin 是通过一个子项目 Resin CanDI 来实现 CD...

红薯 ⋅ 2010/06/28 ⋅ 0

JSF Standard Context Params

更详细的:https://wikis.oracle.com/display/GlassFish/JavaServerFacesRI JSF Standard Context Params Table 5.1. Context Param JSF Spec Description Default Value javax.faces.CONFIGF......

Zhao-Qian ⋅ 2015/03/05 ⋅ 0

OmniFaces 2.5 发布,JSF2 工具库

OmniFaces 2.5在2016年9月15日正式发布了。 OmniFaces 是一个JSF 2的工具库,其目的是为了让JSF应用开发更加简单。 你是否厌倦了为每个JSF web应用程序重新创造JSFUtil或FacesUtil实用程序类...

ratking ⋅ 2016/09/20 ⋅ 6

JSF2自定义组件编程系列 第八部分

Ajax Ajax特性很简单,修改一下xhtml文件的commandButton代码如下: 通过Ajax发送给Server的数据包含在id为"in"的inputText tag中,这里用execute标志要发送...

长平狐 ⋅ 2012/08/28 ⋅ 0

怀疑论者的 JSF: JSF 应用程序的生命周期

级别: 中级 Rick Hightower (rhightower@arc-mind.com), CTO, ArcMind 2005 年 3 月 01 日 本系列怀疑论者的 JSF 一共包含 4 篇文章,本文是其中的第 2 篇。在本文中,Rick Hightower 对 Ja...

晨曦之光 ⋅ 2012/03/09 ⋅ 0

Mashups4JSF 0.0.2 发布

Mashups4JSF 组件通过 mashup 服务提供商提供的客户机端 API 或 REST API 与 mashup 服务交互。Mashups4JSF 为每个 mashup 服务提供商提供一个工厂集来包装已实现服务。 Mashups4JSF 0.0.2主...

红薯 ⋅ 2010/09/15 ⋅ 1

GMaps4JSF 3.0 发布,整合JSF与Google地图

GMaps4JSF旨在整合JSF与Google地图。JSF用户可以通过使用几个简单的JSF标签构建complex StreetViewPanoramas和Maps。 GMaps4JSF是一个JSF Mashups类库,它使得JSF用户可以通过JSF很容易地构建...

oschina ⋅ 2013/01/09 ⋅ 1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Nginx服务架构初探(四):nginx服务器的rewrite功能

nginx服务器的rewrite功能 1.nginx后端服务器组的配置 1>upstream name {…} name是给服务器组限的组名 2>server address [parameters]; address为服务器地址 parame......

余温灬未存 ⋅ 今天 ⋅ 0

layer.prompt使文本框为空的情况下也能点击确定

最近一直在使用layui,但是用到弹出层layer.prompt时,如果文本框是空的话点击确定没有反应,不能向下执行。 但是我又需要空值,看看我原来的代码。 123456789 layer.prompt...

孟飞阳 ⋅ 今天 ⋅ 0

Linux普通文件压缩工具gzip、Bzip2、xz

第六章 文件压缩和打包 6.1 压缩打包介绍 Linux环境常见压缩文件类型: .zip,.gz,.bz2,.xz, .tar.gz,.tar.bz2,.tar.xz 压缩打包的目的 方便文件传输 节省磁盘空间 减少传输花费的时间 ...

弓正 ⋅ 今天 ⋅ 0

移动弹窗基础知识浅析——IOS弹窗体系

摘要: 最为常见的【弹窗】反而是最“捉摸不定”的东西。各种类型的弹窗傻傻分不清楚,不知道在什么场景下应该用哪种弹窗。尤其是遇到“二次确认”等场景…… 因此,打算从头整理移动弹窗的基...

阿里云云栖社区 ⋅ 今天 ⋅ 0

zabbix短信报警统计以及报表展示

一、需求 由于我们的业务报警比较频繁,之前是针对每个报警进行具体处理,但是有时还会重复出现,或者后续处理有时忘记跟进等,因此进行报警短信的统计,可以针对一些问题与业务跟进,明确后...

o翡翠谷o ⋅ 今天 ⋅ 0

JNI 输出LOG

1、导入log头文件。在你使用的 .c/ .cpp 文件中,导入 log.h 头文件。 #include<android/log.h> 2、在android.mk 加上 LOCAL_LDLIBS := -llog 或 LOCAL_SHARED_LIBRARIES := liblog 3、定义L......

国仔饼 ⋅ 今天 ⋅ 0

主线程pthread_exit 作用

#include <iostream>#include <pthread.h>#include <unistd.h>using namespace std;#define NUM_THREADS 10void* say_hello(void* args){ int i = *((int*)args);/......

xxdd ⋅ 今天 ⋅ 0

崛起于Springboot2.X之Mybatis-xml方式操作mysql数据库(3)

序言:当第一篇讲道Mybatis的时候,只要使用过mybatis的java程序员100%都会知道这种方式,因为这是最广泛最全面的编写sql操作mysql数据库的方式,高级sql的编写往往通过xml方式,接下来进入正...

木九天 ⋅ 今天 ⋅ 1

移动弹窗基础知识浅析——IOS弹窗体系

摘要: 最为常见的【弹窗】反而是最“捉摸不定”的东西。各种类型的弹窗傻傻分不清楚,不知道在什么场景下应该用哪种弹窗。尤其是遇到“二次确认”等场景…… 因此,打算从头整理移动弹窗的基...

猫耳m ⋅ 今天 ⋅ 0

spring elasticsearch 2.4 date 日期

1.mappingPUT user_behavior { "mappings": { "user_behavior": { "properties": { "date": { "type": "createDate", ......

xiaomin0322 ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部