faces-config.xml参数

<?xml version="1.0"?>
<!DOCTYPE faces-config PUBLIC "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN" "http://java.sun.com/dtd/web-facesconfig_1_0.dtd">

<faces-config>
    <navigation-rule>
        <from-view-id>/pages/index.jsp</from-view-id>
        <navigation-case>
            <from-outcome>success</from-outcome>
            <to-view-id>/pages/welcome.jsp</to-view-id>
        </navigation-case>
        <navigation-case>
            <from-outcome>failure</from-outcome>
            <to-view-id>/pages/index.jsp</to-view-id>
        </navigation-case>
    </navigation-rule>
        
    <managed-bean>
        <managed-bean-name>user</managed-bean-name>
        <managed-bean-class>
            onlyfun.caterpillar.UserBean
        </managed-bean-class>
        <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
</faces-config>

一对<navigation-case>是一组导航规则,在该标签里面定义表单来源和跳转的目标 . 对于JSF,每一个视图(View)都有一个独特的识别(identifier),称之为View ID,在JSF中的View ID是从Web应用程序的环境相对路径开始计算,设定时都是以/作为开头,如果您请求时的路径是/pages/index.faces,则JSF会将扩展名改为/pages/index.jsp,以此作为view-id。在<navigation-rule>中的<from-view- id>是个选择性的定义,它规定了来源页面的条件,<navigation-case>中定义各种导览条件,<from- outcome>定义当窗体结果符合的条件时,各自改导向哪一个目的页面,目的页面是在<to-view-id>中定义

还可以在<navigation-case>中加入<from-action>,进一步规范窗体结果必须根据哪一个动作方法(action method),当中是使用 JSF Expression Language 来设定,例如:

<navigation-rule>
        <from-view-id>/pages/index.jsp</from-view-id>
        <navigation-case>
            <from-action>#{user.verify}</from-action>
            <from-outcome>success</from-outcome>
            <to-view-id>/pages/welcome.jsp</to-view-id>
        </navigation-case>
        ....
    </navigation-rule>

在导航时,预设都是使用forward的方式,您可以在<navigation-case>中加入一个<redirect/>,让JSF发出让浏览器重新导向(redirect)的header,让浏览器主动要求新网页,例如:

<navigation-rule>
        <from-view-id>/pages/index.jsp</from-view-id>
        <navigation-case>
            <from-outcome>success</from-outcome>
            <to-view-id>/pages/welcome.jsp</to-view-id>
            <redirect/>
        </navigation-case>
        ....
    </navigation-rule>

您的来源网页可能是某个特定模块,例如在/admin/下的页面,您可以在<from-view-id>中使用wildcards,也就是使用 * 字符,例如:

<navigation-rule>
        <from-view-id>/admin/*</from-view-id>
        <navigation-case>
            <from-action>#{user.verify}</from-action>
            <from-outcome>success</from-outcome>
            <to-view-id>/pages/welcome.jsp</to-view-id>
        </navigation-case>
        ....
    </navigation-rule>

....在上面的设定中,只要来源网页是从/admin来的,都可以开始测试接下来的<navigation-case>。

<from-view-id>如果没有设定,表示来源网页不作限制,您也可以使用 * 显式的在定义档中表明,例如:

<navigation-rule>
        <from-view-id>/*</from-view-id>
        <navigation-case>
        ....
    </navigation-rule>

或者

<navigation-rule>
        <from-view-id>*</from-view-id>
        <navigation-case>
        ....
</navigation-rule>

JSF配置文件faces-config.xml参数详解相关推荐

  1. log4j2.xml参数详解

    log4j2.0以后我们通常在log4j2.xml中配置相关参数,在配置的时候我们需要理解这些参数的具体含义,下面列出了这些参数的解释. 1.Logger 完成日志信息的处理 <logger n ...

  2. webpack.config.js 参数详解

    webpack.config.js文件通常放在项目的根目录中,它本身也是一个标准的Commonjs规范的模块. var webpack = require('webpack'); module.exp ...

  3. MySQL配置文件my.cnf各参数详解

    # +--------------+ # | 客户端基本设置 | # +--------------+ [client]# 默认连接端口 port = 3306# 用于本地连接的socket套接字 s ...

  4. CI流水线配置文件参数详解(二)

    文章目录 4. 参数详解(二) 4.9 git tag打标签的使用 4.10 ``allow_failure`` 4.11 ``when`` 关键字用于实现在作业失败时或发生故障时运行的作业 (whe ...

  5. Mybatis系列全解(四):全网最全!Mybatis配置文件XML全貌详解

    封面:洛小汐 作者:潘潘 做大事和做小事的难度是一样的.两者都会消耗你的时间和精力,所以如果决心做事,就要做大事,要确保你的梦想值得追求,未来的收获可以配得上你的努力. 前言 上一篇文章 <My ...

  6. 【Nginx】Nginx配置文件参数/启动参数详解;启动/停止/重新加载配置命令

    nginx配置文件 nginx及其模块的工作方式是由配置文件指定,默认情况下配置文件被命名为nginx.conf并且存放在/usr/local/nginx/conf或者 /etc/nginx或者 /u ...

  7. Redis配置文件redis.conf参数详解

    redis.conf配置文件参数详解 # Redis configuration file example.########################################## GEN ...

  8. Tomcat web.xml配置参数详解

    Apache Tomcat Configuration Reference - The Context Container https://tomcat.apache.org/tomcat-5.5-d ...

  9. [原创]Saltstack学习笔记:命令参数详解以及配置文件说明

    很久没有更新saltstack的文章了,今天还是来更新一点,又开始对saltstack复习了一下. 前边写了一点<saltstack入门概述(1)>以及<Saltstack如何安装( ...

  10. Linux网卡配置文件-参数详解

    Linux网卡配置文件-参数详解 DEVICE=eth0 #指出网卡名称比如这个是eth0 NM_CONTROLLED=yes #network mamager的参数,实时生效,不需要重启,表示是否受 ...

最新文章

  1. 如何获得Oracle系统性能统计? Oracle大型数据库系统在AIXUNIX上的实战详解 集中讨...
  2. Leetcode:371.Sum Of Two Integer
  3. floodlight java_floodlight学习系列(1)——在Eclipse中安装运行floodlight
  4. POJ 1014 Dividing(多重背包 + 倍增优化)
  5. 阮一峰react demo代码研究的学习笔记 - demo4 debug - create element and Render
  6. [GAN学习系列3]采用深度学习和 TensorFlow 实现图片修复(下)
  7. 开启企业级市场转型之路 群晖亮出安全“杀手锏”
  8. npoi 所有列调整为一页_别再浪费纸了,一张纸就能打印Word、Excel、PPT所有内容,真厉害...
  9. @Service @Autowired
  10. php mysql 链表_浅谈PHP链表数据结构(单链表)
  11. 支付宝开放生活频道 消费者可直达商家生活号、小程序
  12. php数组和列表,【PHP基础】1.1 所有数组函数分类与列表(目前可能不全)
  13. Spring Boot入口类
  14. ThinkPad特有设计和特色软件
  15. 财富杂志推荐的75本必读书
  16. Python解决12小球问题
  17. 计算机的文件夹打不开了,文件夹打不开,详细教您文件夹打不开怎么办
  18. 深入浅出IO流知识——基础流
  19. 通信方面工作一些简单的名词解释整理
  20. 俞敏洪大学经典励志演讲:像树一样活着

热门文章

  1. 【luogu P2939 [USACO09FEB]改造路Revamping Trails】 题解
  2. [LeetCode]Palindrome Number 推断二进制和十进制是否为回文
  3. Python学习之OS模块初识
  4. Java Script 练习题
  5. 6个基本screen命令
  6. 学html和css的感受
  7. 【Silverlight】Bing Maps学习系列(八):使用Bing Maps Silverlight Control加载自己部署的Google Maps...
  8. 解决Linkedin sdk无法保持oauth_token
  9. 反编译那些事儿(六)—所编译得.class文件带有$符号
  10. oracle 聚合函数 LISTAGG ,将多行结果合并成一行