JSFテンプレートにメニューを表示したい。私のアプリケーションのすべてのユーザーには異なるメニューがあり、メニューはデータベースに保存されています。ここに私のコードがあります、
MenuBean.java
public List<Menuitem> getUserMenu() {
List<Menuitem> menuitems = (List<Menuitem>) em.createQuery("_____________").setParameter("_______", _______).getResultList();
return menuitems;
}
pageTemplate.xhtml
<div class="container">
<div id="navigation">
<ul>
<ui:repeat var="_item" value="#{menuitemBean.userMenu}">
<li><h:outputLink value="#{_item.url}">
<h:outputText value="#{_item.name}" />
</h:outputLink></li>
</ui:repeat>
</ul>
</div>
<div id="content">
<h1>
<ui:insert name="header" />
</h1>
<h2>
<ui:insert name="subheader" />
</h2>
<ui:insert name="main" />
</div>
</div>
問題は、同じテンプレート (pageTemplate.xhtml) を使用している新しいページ (.xhtml ファイル) に移動するたびに、メニューが再度読み込まれることです。
ユーザーごとに 1 回だけメニューをロードするにはどうすればよいですか。