AccordionPanel不会渲染最后一个标签

时间:2012-12-29 07:31:50

标签: jsf primefaces

我正在开发JSF&在我当前的一个项目中使用accordionPanel组件进行表面处理。这是关于我如何使用它的代码段:

<p:accordionPanel id="historic" dynamic="true" 
                  styleClass="noborder" 
                  activeIndex="-1">

    <p:tab id="tab1" title="Historic 1" >
            <ui:include src="historic1.xhtml"/>
    </p:tab>

    <p:tab id="tab2" title="Historic 2">
            <ui:include src="historic2.xhtml"/>
    </p:tab>

    <p:tab id="tab3" title="Historic 3">
            <ui:include src="historic3.xhtml"/>
    </p:tab>

    <p:tab id="tab4" title="Historic 4">
            <ui:include src="historic4.xhtml" />
    </p:tab>

</p:accordionPanel>

所有选项卡包含基本相同的代码,一个表单,其中一些数据指向不同的数据集。正如你们所看到的那样,除了最后一个标签外,它非常简单并且工作正常。它永远不会显示,无论它包含什么。我的意思是,如果,而不是上面的代码,我把另一个:

<p:accordionPanel id="historic" dynamic="true" 
                  styleClass="noborder" 
                  activeIndex="-1">
    <p:tab id="tab1" title="Historic 1" >
            <ui:include src="historic1.xhtml"/>
    </p:tab>

    <p:tab id="tab2" title="Historic 2">
            <ui:include src="historic2.xhtml"/>
    </p:tab>

    <p:tab id="tab3" title="Historic 3">
            <ui:include src="historic3.xhtml"/>
    </p:tab>

    <p:tab id="tab4" title="Historic 4">
            <ui:include src="historic4.xhtml" />
    </p:tab>

    <p:tab id="tab5" title="Historic 5">
           Some plain test text.
    </p:tab>

</p:accordionPanel>

然后显示tab4,但tab5不显示。我目前正在使用这个最后一个代码,但由于空标签,它有点难看。 你们有没有遇到过同样或类似的问题,可以帮助我吗?我很感激。

2 个答案:

答案 0 :(得分:2)

来自primefaces vdl:http://www.primefaces.org/docs/vdl/3.4/primefaces-p/accordionPanel.html

activeIndex

  

活动选项卡的索引或逗号分隔的索引字符串   多模式开启。默认值为零。

可能有理由将此设置为-1,如果将其设置为0或正数

,则您提供的示例在primefaces 3.4.2中有效

答案 1 :(得分:0)

accordionPanel索引是一个从零开始的索引。这是第一个选项卡为0,第二个选项卡为1,依此类推。这就是为什么  尝试使用“-1”作为索引,因为我不希望默认情况下打开任何选项卡。 但是此值(-1)会在accordionPanel中产生故障:最后一个选项卡无法正常打开。因此,如果-1不起作用且0是第一个选项卡的值,那么“最后一个”值的值是多少。我的意思是,如果我们有4个选项卡(索引从0到3),让我们试试4 ...它的工作原理。很简单。我希望这对任何发现自己处于同一问题的人都有帮助。 无论如何,谢谢@Aksel Willgert,你给了我线索。