我使用JSF和Primefaces开始了一个新的Java Web应用程序项目。我厌倦了在不同的标签页面中打开不同的网页。例如,假设我有一些页面,例如a.jsf
,b.jsf
。如果用户点击a.jsf
页面,该页面应显示在新标签页面中(我正在使用p:tabView
),如果用户点击了b.jsf
页面,则该页面应显示在另一个新标签,如在雅虎(旧版)中查看邮件
我可以动态生成标签,但问题是我无法查看页面内容。
答案 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>