仅在执行的操作为“是”</rich:tab>时导航时显示<rich:tab>内容

时间:2012-06-25 05:53:52

标签: jsf-2 tabs richfaces actionlistener

我在项目中使用RF3.3和JSF(2.0)。

我的页面在选项卡面板中包含4个选项卡。 首次加载页面时,会自动选择TAB1,这是正常的。 现在,在用户从一个选项卡导航到另一个选项卡之前,我需要向他显示一个弹出面板,要求他确认从一个选项卡移动到另一个选项卡。因此当用户出现在TAB 1上点击TAB2时,我想要一个弹出面板询问用户他是否确定要导航到TAB2。

问题是:点击标签2后,<rich:tab>出现的动作监听器被触发,标签2被渲染,然后弹出面板。

一旦用户点击TAB 2,是否有任何方法可以打开弹出面板,只有当他在弹出式面板中单击“是”时才会显示TAB 2的内容。

我无法使用禁用属性,因为使用它我将无法点击TAB 2,我的弹出式面板将无法打开。

<rich:tabPanel id="tab" switchType="ajax" headerSpacing="10px"style="overflow:auto"> 

<rich:tab binding="#{Bean.firsttab}" id="tabOne" style="overflow:auto" styleClass="richTab" label="TAB ONE" actionListener="#{Bean.refresh}" switchType="ajax">

<rich:tab binding="#{Bean.secondtab}" id="tabTwo" style="overflow:auto" styleClass="richTab" label="TABTWO" actionListener="#{Bean.refresh}" switchType="ajax">

</rich:tabPanel>

我最好不要使用Javascript来实现相同的功能。我怎样才能在JSF中实现这一目标?

2 个答案:

答案 0 :(得分:0)

是否可以尝试使用onlabelclick内的<rich:tab。在其中调用JS方法并返回一个布尔值以继续执行操作。希望这有效。如果它有效,请在此处发布您的代码段。

答案 1 :(得分:0)

我通过将选项卡与支持bean绑定并使用选项卡的属性根据某些条件呈现和重新呈现选项卡来实现相同的目标......