2010-12-08 54 views
0

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

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

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

我复合组件的接口看起来是这样的:(我在这里简单的事情,才能跨越的想法)

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

而且我有一个导航规则就是这样,当用户被引导到基于页面输入composite:属性。问题是,用户需要被带到导航规则中的两个页面之一,因为该页面是用户首先会看到的页面。所以,没有按钮/ 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> 

所以,该输入复合:属性需要被转换成一个结果值,并执行使我的导航规则可以被执行。

非常感谢!

+0

这可能是使用Javascript。你能告诉我复合组件代码吗? – mvg 2010-12-09 05:15:12

回答