7

我正在尝试在 Primefaces 中创建手风琴面板。我正在尝试使用它来创建它,ui:repeat以便我可以动态创建面板选项卡。但不知何故,我的代码不起作用,手风琴面板是空的并且没有任何选项卡。任何人都可以给我的原因或指出我如何实现这一目标。

这是我的豆子。

@ManagedBean(name = "divisionList")
public class Divisions implements Serializable {

private List<String> divStrings;

public List<String> getDivStrings() {
        return divStrings;
    }
    public Divisions(){
        divStrings=new ArrayList<String>();
        divStrings.add("Division A") ;
        divStrings.add("Division B");
   }

}

在我的 xhtml 中:

<p:accordionPanel >
         <ui:repeat value="#{divisionList.divStrings}" var="divis">
               <p:tab title="#{divis}">
                            Content
               </p:tab>
         </ui:repeat>
</p:accordionPanel>

编辑:

但是当它像这样打印时它的工作:O

<ui:repeat value="#{divisionList.divStrings}" var="divis">
    <h:outputText value="#{divis}" />
</ui:repeat>
4

2 回答 2

12

你的 ui:repeat 没有问题,不要把它包在一个空的里面

<p:accordionPanel >

或者删除 uirepeat 并填写您的手风琴面板的值

这样做

<p:accordionPanel value="#{test.divStrings}" var="divis" >
           <p:tab title="#{divis}">
                        Content
           </p:tab>
</p:accordionPanel>
于 2013-01-15T10:09:53.367 回答
0

不要在构造函数中初始化列表,而是尝试在 @PostConstruct 注释方法中初始化它。

   @PostConstruct
   public void init(){
        divStrings=new ArrayList<String>();
        divStrings.add("Division A");
        divStrings.add("Division B");
   }
于 2013-01-15T09:57:49.627 回答