Как открыть другую веб-страницу, например, почту Yahoo (старая версия), используя p: tabView?

Я начал новый проект веб-приложения Java, используя JSF и Primefaces. Я устал открывать разные веб-страницы в разных вкладках. Например, допустим, у меня есть несколько страниц, таких как a.jsf, b.jsf. Если пользователь щелкает страницу a.jsf, эта страница должна отображаться на новой вкладке (я использую p:tabView), а если пользователь щелкает страницу b.jsf, то она должна отображаться на другой новой вкладке, например при просмотре почты в yahoo (старая версия)

Я могу динамически создавать вкладки, но проблема в том, что я не могу просматривать содержимое страницы.


person Mariyappan    schedule 11.11.2013    source источник


Ответы (2)


Используйте iframe на вкладке. Вскоре вы обнаружите, что правильно подобрать размер сложно, и я обнаружил, что это не работает в IE (по крайней мере, версии 8 и ниже). Лучший способ сделать это — построить код для a.jsf и b.jsf между <p:tab>....</p:tab> Поскольку они в любом случае JSF, это не должно быть сложно. Вы можете использовать динамическое свойство tabview, чтобы повысить производительность загрузки страницы.

person MrRaymondLee    schedule 13.11.2013

Вот мой код..

<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>
person Mariyappan    schedule 18.11.2013