如何使用p:tabView打开不同的网页,如雅虎邮件(旧版)?

时间:2013-11-11 06:09:58

标签: jsf-2 primefaces tabview

我使用JSF和Primefaces开始了一个新的Java Web应用程序项目。我厌倦了在不同的标签页面中打开不同的网页。例如,假设我有一些页面,例如a.jsfb.jsf。如果用户点击a.jsf页面,该页面应显示在新标签页面中(我正在使用p:tabView),如果用户点击了b.jsf页面,则该页面应显示在另一个新标签,如在雅虎(旧版)中查看邮件

我可以动态生成标签,但问题是我无法查看页面内容。

2 个答案:

答案 0 :(得分:0)

在标签中使用iframe。您很快就会发现很难正确调整大小并且我发现它在IE中不起作用(至少版本8及以下版本)。最好的方法是在<p:tab>....</p:tab>之间构建a.jsf和b.jsf的代码因为无论如何它们都是JSF,所以应该不难。您可以使用tabview的动态属性来帮助提高页面加载性能。

答案 1 :(得分:0)

这是我的代码..

<p:layoutUnit position="center" id="layoutCenter">              
    <h:form id="tabViewFormId">
       <p:tabView id="tabViewId" value="#{multiTabBean.tabsList}"
        activeIndex="#{multiTabBean.activeTabIndex}" var="tabView">
        <p:ajax event="tabChange" listener="#{multiTabBean.onTabChange}"/>
        <p:ajax event="tabClose" listener="#{multiTabBean.onTabClose}"/>

        <p:tab title="#{tabView.title}" closable="true">
              <ui:insert name="#{tabView.viewContent}" />
        </p:tab>
    </p:tabView>
    </h:form>
</p:layoutUnit>