JSF2如何根据值自动导航

时间:2010-12-08 23:38:10

标签: navigation jsf-2

在JSF2中,我想知道如何根据值自动导航到页面 - 自动意义,而不必单击按钮或commandLink?

我有一个带参数的复合组件(composite:attribute),当这个复合组件启动时,我希望用户自动导航(无需用户按下按钮或点击命令链接)到某个页面,基于复合:属性之一。我怎么能这样做?

基本上,有没有办法让JSF .xhtml页面自动输出一个动作值 - 这个值可以用来导航到一个特定的页面?

我的复合组件的界面如下所示:(我在这里简化了一些事情来实现这个想法)

<composite:interface>
<composite:attribute name="showTable2" type="Boolean"
    required="true" shortDescription="Show the second table?" />
</composite:interface>

我有这样的导航规则,用户根据输入的composite:属性进入页面。问题是,用户需要被带到导航规则中的两个页面之一,因为该页面是用户首先看到的页面。因此,没有用于执行此导航规则的button / commandLink。

<navigation-rule>
<from-view-id>/index.xhtml</from-view-id>
<navigation-case>
    <from-outcome>showTable2</from-outcome>
    <to-view-id>/twoTables.xhtml</to-view-id>
</navigation-case>
<navigation-case>
    <from-outcome>dontShowTable2</from-outcome>
    <to-view-id>/oneTable.xhtml</to-view-id>
</navigation-case>

因此,输入composite:属性需要转换为结果值并执行,以便可以执行我的导航规则。

非常感谢!

1 个答案:

答案 0 :(得分:0)

在Seam Faces中存在viewAction组件,该组件在进行渲染响应的阶段中触发一个动作。

以下是链接:http://docs.jboss.org/seam/3/faces/latest/reference/en-US/html_single/#viewaction