Tapestry JavaScript (3)
TapestryのScriptテンプレートで使用可能な残りのエレメントについて解説したいと思います。
if
名前そのままで、条件式を書くことにより、特定のJavaScriptを出力する、出力しないの指定が可能になります。
スクリプトテンプレートファイル
<input-symbol key="historyList" class="java.util.List" required="yes"/>
<if expression="hitoryList">
alert("historyList is true");
</if>
expressionにオブジェクトを指定するとnullの時false、それ以外の時trueになります。 もちろんhistoryListの型を、java.lang.booleanにしての条件分岐も可能です。
if-not
上記したifの逆の条件文を記述します。
スクリプトテンプレートファイル
<if-not expression="hitoryList">
alert("historyList is false");
</if-not>
include-script
外部JavaScriptファイルの読み込み指定をします。 複数のコンポーネントで使用するロジックは極力外部JavaScriptに集めブラウザのキャッシュを有効にさせる事でデータ転送量を少なくする事が可能になります。
スクリプトテンプレートファイル<script> <include-script resource-path="../../taglist.js" /> ... </script>
パスは、jwcファイルからの相対パス。もしくは/からの絶対パスを指定します。 上記の例では、WEB-INF/jwc/taglist.jwcに配置していますので、ブラウザが読み込み可能な位置(WEB-INFより上位ディレクトリ)にtaglist.jsを配置しています。
HTML出力結果<body> <script type="text/javascript" src="/tagraw/WEB-INF/jwc/../../taglist.js"></script> ... </body>



