页面导航

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. pig函数以及关键字 的一些实例应用的总结(来自pig笔记)

    http://wenku.baidu.com/link?url=yb7KnpSj9nHxWk_MsEVUezvB24evRf9wR87FX0dTT77pGXNXi6k3o_kTmAkBrpIHTqo6 ...

  2. TCP/IP入门(1) --链路层

    /** 本博客由汗青ZJF整理并发布, 转载请注明出处: http://blog.csdn.net/zjf280441589/article/category/1854365 */ TCP/IP体系结 ...

  3. Android实现自定义的相机

    使用系统相机 android中使用系统相机是很方便的,单这仅仅是简单的使用而已,并不能获得什么特殊的效果. 要想让应用有相机的action,咱们就必须在清单文件中做一些声明,好让系统知道,如下 < ...

  4. 海量数据挖掘MMDS week4: 推荐系统Recommendation System

    http://blog.csdn.net/pipisorry/article/details/49205589 海量数据挖掘Mining Massive Datasets(MMDs) -Jure Le ...

  5. JSP编译成Servlet(三)JSP编译后的Servlet

    JSP编译后的Servlet类会是怎样的呢?他们之间有着什么样的映射关系?在探讨JSP与Servlet之间的关系时先看一个简单的HelloWorld.jsp编译成HelloWorld.java后会是什 ...

  6. SpriteBuilder改变布局后App运行出错代码排查

    原来整个关卡场景放在GameScene.ccb中,后来觉得移到专门的Level.ccb比较好. 移动过后编译运行,只要移动Player的胳膊发射子弹时,Xcode报错: g due to Chipmu ...

  7. 学习pthreads,使用条件变量进行多线程之间的同步

    条件变量提供另一种多线程同步的方法.互斥量通过控制对共享数据的访问来同步任务.条件变量可以根据数据的值来同步任务.条件变量是当一个事件发生时发送信号的信号量.一旦事件发生,可能会有多个线程在等待信号, ...

  8. H5学习之旅-H5的布局(10)

    两种实现方式:div和table div实现布局的方式 代码实例 <!DOCTYPE html> <html lang="en"> <head> ...

  9. Leetcode_110_Balanced Binary Tree

    本文是在学习中的总结,欢迎转载但请注明出处:http://blog.csdn.net/pistolove/article/details/42218839 Given a binary tree, d ...

  10. 让Oracle 大小写敏感 表名 字段名 对像名

    一.解决方案 1.在表名.字段名.对象名上加上双引号,即可实现让oracle大小写区分. 2.但是这又引起了另一个问题:在数据库操作中,sql语句中相应的表名.字段名.对象名上一定要加双引号. 解决办 ...