JSF 2.0テンプレートファイルにパラメータを渡すには?
JSF 2.0 Webアプリケーションでは、 ”
ui:param
” faceletsタグを使用して、インクルードファイルまたはテンプレートファイルにパラメータを渡すことができます。
1. “ui:include”のパラメータ
“tagLine”パラメータをインクルードファイルに渡す例
<ui:insert name="header" >
<ui:include src="/template/common/commonHeader.xhtml">
<ui:param name="tagLine" value="JSF a day, bug away"/>
</ui:include>
</ui:insert>
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
>
<body>
<ui:composition>
<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<ins class="adsbygoogle"
style="display:block; text-align:center;"
data-ad-format="fluid"
data-ad-layout="in-article"
data-ad-client="ca-pub-2836379775501347"
data-ad-slot="6894224149"></ins>
<script>
(adsbygoogle = window.adsbygoogle ||[]).push({});
</script><h2>Tag Line : #{tagLine}</h2>
</ui:composition>
</body>
</html>
2. “ui:composition”のパラメータ
“curFileName”パラメータをテンプレートファイルに渡す例
<ui:composition template="template/common/commonLayout.xhtml">
<ui:param name="curFileName" value="default.xhtml"/>
</ui:composition>
-
commonLayout.xhtml ** ファイルでは、通常のEL式で “curFileName”パラメータにアクセスできます。
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:ui="http://java.sun.com/jsf/facelets"
>
<h:body>
<div id="content">
Current File : #{curFileName}
</div>
</h:body>
</html>
ソースコードをダウンロードする
ダウンロードする – リンク://wp-content/uploads/2010/10/JSF-2-Parameter-In-Template-Example.zip[JSF-2-パラメータ – インテンプレート – サンプル.zip](12KB)
リファレンス
<ui:param/> JavaDoc]