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指定をすることで、複数のスクリプトテンプレート間での変数名の重複を防ぎます。


コメント

このブログの人気の投稿

島へ移住の話【炊飯】

ドローンプログラミング体験教室を伊豆大島の小学校でしてきました

情報処理安全確保支援士登録証のカード型が届きました。