Рендеринг только фрагмента страницы - PullRequest
2 голосов
/ 04 января 2012

Мне нужно реализовать веб-приложение с меню (представление вкладок) вверху, где каждая вкладка отображает область содержимого без отображения всей страницы.Как я могу сделать это по модульному принципу?Я хочу, чтобы каждая область содержимого была потоком.

Ответы [ 2 ]

0 голосов
/ 04 января 2012

Если вы не против бэкэнда, почему бы не использовать обычный javascript?

создать 4 деления, с 4 различными идентификаторами и играть с:

onclick="document.getElementById('div1').style.display = "none";
onclick="document.getElementById('div2').style.display = "inline";

Вы можете сделать работу!

EDITED

Если div находятся в разных файлах, вы можете использовать его следующим образом:

<div id="div1">
  <ui:include src="#{myBean.myPage}" />
</div>
0 голосов
/ 04 января 2012

Вы можете попробовать это:

<h:form id="topMenu">
   <f:ajax render="content">
      <h:commandLink actionListener="#{mrBean.openPage('About.xhtml')}" value="About Us" />
      <h:commandLink actionListener="#{mrBean.openPage('Contact.xhtml')}" value="Contact Us" />
   </f:ajax>
</h:form>

<h:panelGroup id="content">
   <ui:include src="#{mrBean.page}" />
</h:panelGroup>

А это ваш ManagedBean:

@ManagedBean
@RequestScoped
public class MrBean {
   private String page;

   public void openPage(String page) {
      this.page = page;
   }
}
...