以下のコードに含まれていない他のものと一緒にメニューを持つ facelet テンプレートがあります。
<h:head>
..............................
</h:head>
<h:body>
<ui:include src="/menu.xhtml" />
..............................
..............................
<h:body>
このテンプレートは、30 前後のすべてのページで使用されています。
<ui:composition xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:c="http://java.sun.com/jsp/jstl/core"
template="/layout/template.xhtml">
</ui:composition>
メニュー以外のテンプレートのすべてを使用する必要があるページはほとんどありません。それらのページからメニューを表示しないように指定する方法はありますか。
フェイスレットパラメーターなどを渡すなど、フェイスレットで方法を探しています。次のオプションを考えましたが、それらを避けようとしています。
- 既存のものとまったく同じであるがメニューがない別のテンプレートを作成し、それらのページで使用します
- テンプレートからメニューを取り出し、必要なページで使用しますが、それは約 25 ページにメニューを追加することを意味します。メニューをテンプレートに保持したいと思います。