Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/351.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jsf 在<;中动态加载xhtml页面;p:tab>;使用EL_Jsf_Primefaces - Fatal编程技术网

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

Jsf 在<;中动态加载xhtml页面;p:tab>;使用EL,jsf,primefaces,Jsf,Primefaces,全部 我使用的是primefaces-3.0.M3 jar,我想在里面加载xhtml页面 我已经厌倦了下面的代码,但它不工作 <p:tabView id="tabview" value="#{HomeBean.tabList}" var="pageUrl" bindi

全部 我使用的是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;
}
private List tabList=new ArrayList();
公共HomeBean(){
tabList.add(“Test1.xhtml”);
tabList.add(“Test2.xhtml”);
tabList.add(“Test3.xhtml”);
}
公共列表getTabList(){
返回小报;
}
公共无效设置列表(列表列表列表){
this.tabList=tabList;
}
请给我一个解决方案。
高级中的Thx。

我测试了您的代码,发现
{pageUrl}
为空,即使
列表中有项目。您可以这样尝试:

<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>

我找到了解决方案,效果很好

<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>


它是如何“不起作用”的?你犯了什么错误?这是一个旧线程,但我今天遇到了这个问题。您的示例不起作用,因为ui:insert在整个页面呈现时只呈现一次,所以所有选项卡都将具有相同的内容(第一个选项卡的内容)。你是如何解决这个问题的?花了那么多时间试图让它工作!这是如此简单和工程!现在让iframe填充面板,并随着窗口大小的调整而增长。