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>
set
OGNL式を利用して新しい変数(Symbol)を作成します。
let
テキストやSymbolを利用して新しい変数を作成します。
unique指定をすることで、複数のスクリプトテンプレート間での変数名の重複を防ぎます。
コメント
コメントを投稿