JSF-页面导航
页面导航
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-页面导航的更多相关文章
- wp8.1 页面返回 页面导航
		
public The_second() public second() { this.InitializeComponent(); Frame frame = Window.Current.Conte ...
 - Windows Phone 8.1 新特性 - 页面导航
		
本篇介绍一下Windows Phone 8.1 中页面导航的实现方式. 大家对Windows Phone 8 中页面导航的实现一定不陌生,我们使用 NavigationService 来实现.具体写法 ...
 - WinPhone学习笔记(一)——页面导航与页面相关
		
最近学一下Windows Phone(接下来简称“WinPhone”)的开发,在很久很久前稍探究一下WinPhone中对一些传感器的开发,那么现在就从头来学学WinPhone的开发.先从WinPhon ...
 - JSF页面中使用js函数回调后台bean方法并获取返回值的方法
		
由于primefaces在国内使用的并不是太多,因此,国内对jsf做系统.详细的介绍的资料很少,即使有一些资料,也仅仅是对国外资料的简单翻译或者是仅仅讲表面现象(皮毛而已),它们的语句甚至还是错误的, ...
 - 【Win10】页面导航的实现
		
注:本文基于 Windows 10 10240 及其 SDK 编写,若以后有变化,请以新版本为准. 页面导航我们是再熟悉不过了,浏览器.手机 App 大多都使用这种方式来展示内容.在 Windows ...
 - wp8.1 Study1: 页面导航&页面间值传递
		
摘要:wp8.1与wp8中很多API是不一样了,wp8.1把以前wp7.x时的api去掉了,更多与win8.1的API相似.比如以下的页面导航和页面之间的值传递 1.页面导航 利用Frame.Navi ...
 - 与众不同 windows phone (27) - Feature(特性)之搜索的可扩展性, 程序的生命周期和页面的生命周期, 页面导航, 系统状态栏
		
原文:与众不同 windows phone (27) - Feature(特性)之搜索的可扩展性, 程序的生命周期和页面的生命周期, 页面导航, 系统状态栏 [索引页][源码下载] 与众不同 wind ...
 - windows phone 页面导航(6)
		
原文:windows phone 页面导航(6) 页面导航的例子我们使用的是两个页面,从第一个页面(MainPage)导航到第二个页面(SecondPage),然后可以从第二个页面导航到第一个页面 , ...
 - JSF页面中使用js函数回调后台action方法
		
最近遇到了一个问题就是在JSF页面中嵌入html页面,这个html页面中很多功能是使用js动态生成的,现在需要在js函数里想去调用JSF中action类method()方法并动态传送数据给后台进行处理 ...
 - Win10系列:JavaScript页面导航
		
页面导航是在开发应用的过程中使用频率较高的技术,其中比较常用的导航方式有多页导航和页内导航,采用多页导航方式的应用程序包含一系列的页面,在一个页面中加入另一个页面的链接地址后,单击链接将跳转到指定页面 ...
 
随机推荐
- Windows Server2012R2 安装 SharePoint 2013 的必备组件
			
Windows Server2012R2目前支持SharePoint Server 2013 with Service Pack 1 和 SharePoint Foundation 2013 with ...
 - ADFS部署过程中设置network service对证书的读取权限
			
今儿在部署客户正式环境的ADFS时候遇到一问题,在配置完基于声明的身份验证后通过url访问居然报错了,这干过N回的事怎么会出错了呢,百思不得其解 网页报错如下 系统日志报错如下, 回想过程中的每一步, ...
 - 我眼中的Linux设备树(四 中断)
			
四 中断中断一般包括中断产生设备和中断处理设备.中断控制器负责处理中断,每一个中断都有对应的中断号及触发条件.中断产生设备可能有多个中断源,有时多个中断源对应中断控制器中的一个中断,这种情况中断产生设 ...
 - 《java入门第一季》StringBuffer类小案例
			
/* * 把数组拼接成一个字符串 */ public class StringBufferTest2 { public static void main(String[] args) { // 定义一 ...
 - 【Python】Shell  MD5使用的那些事
			
MD5 应该是用的非常多的算法,就自己使用经验说说吧. 场景 算法层面不多说了,维基百科,还有很多文章都有说明. 主要用过的场景 密码存储,现在基本没怎么有使用的了,毕竟破解容易了很多 API校验,现 ...
 - 2015年北京的第一场雪-关于android学习的思考(84)
			
今天是2015年11月6日,今天北京下了大雪,我听着民谣,发现丢火车的摇滚也还不错,我身体的一部分毛发也发生了变异,由黑色变成红色,一切来的太突然了......不知不觉学习android开发2年多了, ...
 - 【一天一道LeetCode】#29. Divide Two Integers
			
一天一道LeetCode系列 (一)题目 Divide two integers without using multiplication, division and mod operator. If ...
 - TCP的核心系列 — SACK和DSACK的实现(三)
			
不论是18版,还是37版,一开始都会从TCP的控制块中取出SACK选项的起始地址. SACK选项的起始地址是保存在tcp_skb_cb结构的sacked项中的,那么这是在什么时候做的呢? SACK块并 ...
 - 修改Tomcat访问的端口号
			
修改Tomcat端口号步骤: 1.找到Tomcat目录下的conf文件夹 2.进入conf文件夹里面找到server.xml文件 3.打开server.xml文件 4.在server.xml文件里面找 ...
 - Linux - script练习
			
首先HelloWorld 对谈式脚本:变量内容由使用者决定 随日期变化:利用date进行文件的创建 比较直接运行与利用source来运行脚本的区别