`
tntxia
  • 浏览: 1507363 次
  • 性别: Icon_minigender_1
  • 来自: 深圳
社区版块
存档分类
最新评论

导航规则设置

阅读更多
在JSF中是根据faces-config.xml中<navigation-rule>设定,以决定在符合的条件成立时,该连结至哪一个页面,一个基本的设定如下:
....
    <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>
 ....

  对于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>
 ....
分享到:
评论

相关推荐

    不规则形状排列的css菜单导航.zip

    "不规则形状排列的css菜单导航"是一个创新的设计概念,通过CSS技术实现各种独特的菜单布局,为用户提供视觉吸引力的同时增强交互体验。下面将详细探讨这个主题中的核心知识点。 首先,CSS(Cascading Style Sheets...

    JSF配置.pdf

    #### 1.4 导航规则设置 导航规则通过faces-config.xml文件中的标签进行配置。可以在、、和子标签中定义各种导航条件。 #### 1.5 JSF表达式语言 JSF表达式语言(EL)是一个用于访问应用程序数据的语言,可以在JSF...

    JSF入门级教程

    4. 导航规则设置 导航规则定义了用户操作后的页面跳转逻辑,如提交表单后显示结果页面。这些规则可以基于特定的提交按钮、请求参数或EL表达式。 5. JSF Expression Language (EL) JSF EL是一种强大的表达式语言,...

    JSF的入门是点点滴滴

    ### 1.4 导航规则设置 导航规则可以基于动作或组件事件来定义。例如,当用户点击一个按钮时,JSF会根据按钮的动作标识来查找相应的导航规则,然后执行相应的页面跳转。 ### 1.5 JSF Expression Language (EL) EL...

    jsf入门手册

    导航规则设置包括指定源(触发事件的组件)、目标(要导航到的页面或结果)以及可能的导航条件。通过这些设置,开发者可以创建复杂的多步骤表单和工作流,而不必担心底层的HTTP请求和响应细节。 ##### 1.5 JSF...

    《JSF入门》简体中文版

    **1.4 导航规则设置** 导航规则定义了页面之间的跳转逻辑。通常包含源页面标识符、目标页面标识符以及可选的条件表达式。例如,如果表单验证成功,则导航到另一个页面;否则,留在当前页面。 **1.5 JSF表达式语言...

    清晰版--JSF入门.pdf

    **1.4 导航规则设置** 导航规则可以设置为基于特定条件或者事件触发的跳转。例如,当表单提交时,根据表单验证的结果跳转到不同的页面。 **1.5 JSF表达式语言(Expression Language)** JSF表达式语言是一种用于在...

    JSF学习笔记

    #### 1.1.4 导航规则设置 **导航规则**通常在 `faces-config.xml` 文件中定义。这个文件是JSF应用程序的核心配置文件之一,用于配置组件库、导航规则等。 **配置示例**: ```xml &lt;from-view-id&gt;/login.xhtml ...

    JSF教程入门

    - **1.4 导航规则设置**:进一步讲解导航规则的定义方法,包括条件判断、重定向等高级特性。 - **1.5 JSF Expression Language (EL)**:探讨JSF表达式语言的作用,如何使用EL来进行数据绑定、访问Bean属性及执行简单...

    不规则形状背景纯css导航菜单

    而“不规则形状背景纯css导航菜单”是一个独特的设计概念,它挑战了传统的矩形或直线边界的限制,通过CSS技术来创建具有视觉吸引力的、非传统形状的导航元素。下面我们将深入探讨这一主题,详细介绍如何利用CSS实现...

    java JSF入门

    #### 1.4 导航规则设置 在`faces-config.xml`文件中,你可以定义导航规则集,包括源视图ID、目标视图ID以及在何时何地进行导航的条件。这样,JSF可以根据用户的动作执行相应的导航逻辑。 #### 1.5 JSF Expression ...

    JSF入门精通超级好的教程

    - **导航规则设置**:深入探讨导航规则的配置方法及其在实现复杂业务流程中的作用。 - **JSF Expression Language (EL)**:解释了EL表达式的使用,它是JSF中用于数据绑定的强大工具。 - **国际化讯息**:展示了...

    JSF入门文档

    - **导航规则设置**:通过XML配置文件或注解定义导航规则。 - **JSF表达式语言**:一种简单易用的语言,用于在JSF页面中引用Managed Beans的属性。 - **国际化**:支持多语言和多地区的特性,确保应用能够适应...

Global site tag (gtag.js) - Google Analytics