0

p:tabViewJavaリストで生成したい。これまでのところ、私がテストしたコードは次のとおりです。

JSF ページ:

<p:tabView value="#{bean.tabs}" var="listItem">

    <p:tab title="#{listItem.tabid}">

`   <ui:include src="#{listItem.tabfilename}" />

    </p:tab>
</p:tabView>

マネージドBean:

List<TabObject> tabs = new ArrayList<>();

    @PostConstruct
    public void init() {
        tabs.add(new TabObject("tab1.xhtml", "General"));
        tabs.add(new TabObject("tab2.xhtml", "History"));

    }

    public class TabObject {

        String tabfilename;
        String tabid;

        public TabObject(String tabfilename, String tabid) {
            super();
            this.tabfilename = tabfilename;
            this.tabid = tabid;
        }

        public String getTabfilename() {
            return tabfilename;
        }

        public void setTabfilename(String tabfilename) {
            this.tabfilename = tabfilename;
        }

        public String getTabid() {
            return tabid;
        }

        public void setTabid(String tabid) {
            this.tabid = tabid;
        }        
    }

    public List<TabObject> getTabs() {
        return tabs;
    }

しかし、何らかの理由で機能していません。タブ ヘッダーが生成されていることがわかりますが、タブの本文は空です。コードの修正を手伝ってもらえますか?

アップデート:

シンプルなタブは非常にうまく機能しています:

<p:tabView dynamic="true" cache="false">
    <p:tab id="tab1" title="General" >
        <ui:include src="tab1.xhtml" />
    </p:tab>
    <p:tab id="tab2" title="Group Accounts" >
        <ui:include src="tab2.xhtml" />
    </p:tab>   
    <p:tab id="tab3" title="History" >
        <ui:include src="tab3.xhtml" />
    </p:tab>
</p:tabView>
4

1 に答える 1

2

それはあなたのゲッター/セッターだと思います。get(Capitol letter)の規約を前提としています。それらをバッキング Bean で getTabfilename、setTabfilename などに変更します。

于 2012-10-16T18:51:29.797 に答える