使用EL </p:tab>在<p:tab>中动态加载xhtml页面

时间:2012-01-02 15:52:35

标签: jsf primefaces

所有  我正在使用primefaces-3.0.M3 jar,我想在里面加载xhtml页面  我已经厌倦了以下代码,但它无法正常工作

                    <p:tabView id="tabview"
                               value="#{HomeBean.tabList}"
                               var="pageUrl"
                               binding="#{HomeBean.tabView}"
                               cache="true" widgetVar="tabviewV">

                        <p:tab id="tab"  title="#{pageUrl}" closable="true" >

                            <ui:include src="#{pageUrl}"/>

                        </p:tab>

                    </p:tabView>

HomeBean.java中的代码

private List<String> tabList = new ArrayList<String>();

public HomeBean(){
      tabList.add("Test1.xhtml");
      tabList.add("Test2.xhtml");
      tabList.add("Test3.xhtml");
}

public List<String> getTabList() {

    return tabList;
}

public void setTabList(List<String> tabList) {
    this.tabList = tabList;
}

请给我解决方案。 Thx in advanced。

2 个答案:

答案 0 :(得分:7)

我得到了解决方案并且工作正常

<p:tabView id="tabview" 
     value="#{HomeBean.tabList}" 
     var="pageUrl" cache="true" 
     widgetVar="tabviewV">

    <p:tab id="tab"  title="#{pageUrl}" >
      <iframe src="#{pageUrl}" width="100%" height="572px" style="border-width: 0PX;">
      </iframe>
    </p:tab>
</p:tabView>

答案 1 :(得分:1)

我测试了您的代码,即使#{pageUrl}中有项目,我也看到tabList为空。你可以这样试试:

<p:tabView id="tabview" widgetVar="tabview" binding="#{HomeBean.tabView}">

   <c:forEach items="#{HomeBean.tabList}" var="pageUrl">

      <p:tab title="#{pageUrl}"   >
         <ui:include src="#{pageUrl}" />
      </p:tab>

   </c:forEach>

</p:tabView>