如何在Richfaces中激活选项卡

时间:2010-10-06 02:17:20

标签: jsf richfaces

我正在使用Richfaces的jsf。我使用<rich:tabpanel>创建了一个tabpanel。我已经选择了4个标签,例如 tab1 tab2 tab3 tab4 。如果我运行应用程序 tab1 是默认的。如果我转到下一个标签,我会为NEXT<<PREV>>等每个标签使用导航。

  1. 如果我点击标签标签,它也会更改标签。如果我运行应用程序,我希望 tab1 处于活动状态,并禁用所有其他选项卡(例如 tab2 tab3 。如果我单击导航按钮,只有选项卡处于活动状态。)

  2. 如果我运行应用程序, tab1 将在填写 tab1 详细信息后处于活动状态。单击NEXT<<导航然后 tab2 处于活动状态。现在 tab1 tab2 处于活动状态。 tab3 tab4 处于非活动状态。

  3. 上述两个问题的解决方案是什么?

2 个答案:

答案 0 :(得分:0)

 <rich:tabPanel switchType="ajax">
        <rich:tab label="First">
            Here is tab #1
        </rich:tab>
        <rich:tab label="Second" disabled="true">
            Here is tab #2
        </rich:tab>
        <rich:tab label="Third" disabled="true">
            Here is tab #3
        </rich:tab>
    </rich:tabPanel>  

此处第二个和第三个标签将被禁用,您可以执行类似

的操作
disabled= #{Bean.isDisabledTab1}  

然后将它放在下一个上面

答案 1 :(得分:0)

补充org.life.java答案,您可以为切换标签时单击的按钮或链接添加动作侦听器,例如:

                <a4j:commandLink id="identifierLink" value="#{bean.ID_COUNT}"
                actionListener="#{bean.switchTab}" reRender="clientTabPanel, clientTable">
                    <f:param  id="internalID" value="#{bean.INTERNAL_ID}" name="internalIDParam"/>
            </a4j:commandLink>

switchTab动作侦听器方法将包含启用或禁用其他选项卡的逻辑(就像提到的org.life.java一样),并且您可以使用f:param,以防您在决定时将某些内容传递给动作侦听器切换与否。我认为您需要在更新“禁用”属性的相关属性时重新渲染tabPanel。