一、简单的导航 Navigation
我们在修改 faces-config.xml
<navigation-rule> --导航规则
<from-view-id>/pages/index.jsp</from-view-id> View Id 在JSF 中的View Id 是从Web应用程序的环境相对路径开始计算,设定时都是以 / 作为开头的
<from-view-id> 是个选择性的定义,它规定了来源页面的条件
<navigation-case>中定义各种导览条件
<from-outcome>中定义当表单结果符合的条件时,各自改导向哪一个目的页面,目的页面是在<to-view-id>中定义
二、JSF Expression Language
JSF Expression Language 搭配JSF标签来使用,是用来存取数据对象的一个简易语言。
JSF EL 是以#开始,将变量或运算式放在{}之间,变量名称可以是faces-config.xml中定义的名称如果是Bean的话,可以通过使用 ‘.’运算符来存取它的属性,例如:
<f:view>
<h:outputText value="#{user.name}"></h:outputText>
</f:view>
EL的变量名也可以程序执行过程中所声明的名称,或者是JSF EL预定义的隐含对象,
<f:view>
<h:outputText value="#{param.name}"></h:outputText>
</f:view>
<f:view>
<h:outputText value="#{param.['name']}"></h:outputText>
</f:view>
在[]之间,也可以放置其他的变量值
<f:view>
<h:outputText value="#{someBean.someMap[user.name]}">
</h:outputText>
</f:view>
如果变量是List类型或阵列的话,则可以在【】中指定索引,例如:
<h:outputText value="#{someBean.someList[0]}">
</h:outputText>
<h:outputText value="#{someBean.someArray[0]}">
</h:outputText>
指定字面常数,对于true、false、字符串、数字、JSF EL会尝试进行转换
<h:outputText value="#{true}">
</h:outputText>
<h:outputText value="#{hello world}">
</h:outputText>
三、JSF 的保留字或关键字
true false null div mod and or not eq(equals) ne(no equals) lt gt le ge instanceof
使用EL,您可以直接实行一些算术运算、逻辑运算与关系运算,其使用就如同在一般常见的程序语言中之运算。
运算符有 +、-、×、/ or div、余除 % or mod
三元运算
#{(1==2)?3:4} (expression?result1:result2) expression为true 显示result1,false 显示result2.
四、JSF 国际化信息
资源文件名称以 .properties为结尾。
资源文件名称由basename加上语言与地区来组成如
basename.properties
basename_en.properties
basename_zh_CN.properties(待续)