页面导航

1)导航处理涉及的术语:

-动作值:触发动作事件的组件的action:EL方法表达式.字符串文字。

-结果值:动作组件的action属性的:EL方法表达式的返回值.字符串文字;或结果组件的outcome的值表达式计算结果...

-视图ID:以“/”开头、相对于应用上下文路径的视图(页面)URL。

2)隐式导航

当未定义导航规则或没有匹配的导航规则时,导航处理器将结果值看做目标视图ID。如果结果值不以“/”开头,则在其前添加源视图相对于应用上下文路径的路径。如果结果不含扩展名,则在其后添加源视图的文件扩展名。

3)导航规则

每一个配置文件可包含多个navigation-rule元素

每个navigation-rule声明一个导航规则navigation-case

在navigation-rule元素中:

·from-view-id子元素用于指定源视图的视图ID

·navigation-case子元素声明一个导航案例

如:<navigation-rule>

  <from-view-id>/indexs.xhtml</from-view-id>

  <navigation-case>

  <from-action>#{myBean.action}</from-action>

  <if>#{myBean.valid}</if>

  <to-view-id>#{myBean.nextViewID}</to-view-id><!--也可以直接指定目标视图ID-->

  <redirect/></navigation-case>

  </navigation-rule> 

在navigation-case元素中:

·from-outcome:用于指定适用该导航案例的结果值

·from-action:用于指定适用该导航案例的动作值

·if:一个布尔型的值表达式,判断该导航案例是否匹配动态条件

4)导航算法

依次检索相匹配的导航规则,通常是指from-view-id元素内容为源视图ID的导航规则。

对于每一个导航规则,依次检索相匹配的导航案例。

5)重定向

在h:commandButton或者h:commandLink形成的POST请求中,可以在navigation-case中插入redirect子元素,或在元素值中添加名为faces-redirect,值为true的请求参数,要求JSF框架重定向至目标视图

状态码为302表示重定向;响应头包括Location,指定重定向的目标页面的URL。

6)结果类标记: h:link   h:button

结果类标记组件在呈现时,都会根据outcome计算结果值。

然后由导航处理器根据结果值确定目标视图。

单击由结果类标记呈现的超链接或者按钮将产生目标视图的GET请求,如:

<h:link value-"返回主页" outcome="index"/>

<h:button value="GET请求"/>

7)视图参数

在JSF中添加f:viewParam元素、声明视图参数:

<f:metadata><f:viewParam name="t1" value="#{me.t1}"/><!--若存在名为t1的查询参数--><!--me受管Bean的setT1调用,传入参数-->

</f:metadata>

 

JSF-页面导航的更多相关文章

  1. wp8.1 页面返回 页面导航

    public The_second() public second() { this.InitializeComponent(); Frame frame = Window.Current.Conte ...

  2. Windows Phone 8.1 新特性 - 页面导航

    本篇介绍一下Windows Phone 8.1 中页面导航的实现方式. 大家对Windows Phone 8 中页面导航的实现一定不陌生,我们使用 NavigationService 来实现.具体写法 ...

  3. WinPhone学习笔记(一)——页面导航与页面相关

    最近学一下Windows Phone(接下来简称“WinPhone”)的开发,在很久很久前稍探究一下WinPhone中对一些传感器的开发,那么现在就从头来学学WinPhone的开发.先从WinPhon ...

  4. JSF页面中使用js函数回调后台bean方法并获取返回值的方法

    由于primefaces在国内使用的并不是太多,因此,国内对jsf做系统.详细的介绍的资料很少,即使有一些资料,也仅仅是对国外资料的简单翻译或者是仅仅讲表面现象(皮毛而已),它们的语句甚至还是错误的, ...

  5. 【Win10】页面导航的实现

    注:本文基于 Windows 10 10240 及其 SDK 编写,若以后有变化,请以新版本为准. 页面导航我们是再熟悉不过了,浏览器.手机 App 大多都使用这种方式来展示内容.在 Windows ...

  6. wp8.1 Study1: 页面导航&页面间值传递

    摘要:wp8.1与wp8中很多API是不一样了,wp8.1把以前wp7.x时的api去掉了,更多与win8.1的API相似.比如以下的页面导航和页面之间的值传递 1.页面导航 利用Frame.Navi ...

  7. 与众不同 windows phone (27) - Feature(特性)之搜索的可扩展性, 程序的生命周期和页面的生命周期, 页面导航, 系统状态栏

    原文:与众不同 windows phone (27) - Feature(特性)之搜索的可扩展性, 程序的生命周期和页面的生命周期, 页面导航, 系统状态栏 [索引页][源码下载] 与众不同 wind ...

  8. windows phone 页面导航(6)

    原文:windows phone 页面导航(6) 页面导航的例子我们使用的是两个页面,从第一个页面(MainPage)导航到第二个页面(SecondPage),然后可以从第二个页面导航到第一个页面 , ...

  9. JSF页面中使用js函数回调后台action方法

    最近遇到了一个问题就是在JSF页面中嵌入html页面,这个html页面中很多功能是使用js动态生成的,现在需要在js函数里想去调用JSF中action类method()方法并动态传送数据给后台进行处理 ...

  10. Win10系列:JavaScript页面导航

    页面导航是在开发应用的过程中使用频率较高的技术,其中比较常用的导航方式有多页导航和页内导航,采用多页导航方式的应用程序包含一系列的页面,在一个页面中加入另一个页面的链接地址后,单击链接将跳转到指定页面 ...

随机推荐

  1. Windows Server2012R2 安装 SharePoint 2013 的必备组件

    Windows Server2012R2目前支持SharePoint Server 2013 with Service Pack 1 和 SharePoint Foundation 2013 with ...

  2. ADFS部署过程中设置network service对证书的读取权限

    今儿在部署客户正式环境的ADFS时候遇到一问题,在配置完基于声明的身份验证后通过url访问居然报错了,这干过N回的事怎么会出错了呢,百思不得其解 网页报错如下 系统日志报错如下, 回想过程中的每一步, ...

  3. 我眼中的Linux设备树(四 中断)

    四 中断中断一般包括中断产生设备和中断处理设备.中断控制器负责处理中断,每一个中断都有对应的中断号及触发条件.中断产生设备可能有多个中断源,有时多个中断源对应中断控制器中的一个中断,这种情况中断产生设 ...

  4. 《java入门第一季》StringBuffer类小案例

    /* * 把数组拼接成一个字符串 */ public class StringBufferTest2 { public static void main(String[] args) { // 定义一 ...

  5. 【Python】Shell MD5使用的那些事

    MD5 应该是用的非常多的算法,就自己使用经验说说吧. 场景 算法层面不多说了,维基百科,还有很多文章都有说明. 主要用过的场景 密码存储,现在基本没怎么有使用的了,毕竟破解容易了很多 API校验,现 ...

  6. 2015年北京的第一场雪-关于android学习的思考(84)

    今天是2015年11月6日,今天北京下了大雪,我听着民谣,发现丢火车的摇滚也还不错,我身体的一部分毛发也发生了变异,由黑色变成红色,一切来的太突然了......不知不觉学习android开发2年多了, ...

  7. 【一天一道LeetCode】#29. Divide Two Integers

    一天一道LeetCode系列 (一)题目 Divide two integers without using multiplication, division and mod operator. If ...

  8. TCP的核心系列 — SACK和DSACK的实现(三)

    不论是18版,还是37版,一开始都会从TCP的控制块中取出SACK选项的起始地址. SACK选项的起始地址是保存在tcp_skb_cb结构的sacked项中的,那么这是在什么时候做的呢? SACK块并 ...

  9. 修改Tomcat访问的端口号

    修改Tomcat端口号步骤: 1.找到Tomcat目录下的conf文件夹 2.进入conf文件夹里面找到server.xml文件 3.打开server.xml文件 4.在server.xml文件里面找 ...

  10. Linux - script练习

    首先HelloWorld 对谈式脚本:变量内容由使用者决定 随日期变化:利用date进行文件的创建 比较直接运行与利用source来运行脚本的区别