-クライアントサイドスクリプト

クライアントサイドスクリプトのコンポーネント化はTapestryの相当強力な機能です。が、よく知られてません。まとまったドキュメントは「Tapestry in Action」の8.2章ぐらいしか私はしりません。JSPカスタムタグにも無い機能なので同等のものは他にあるのでしょうか?もし他のフレームワークでクライアントサイドスクリプトのコンポーネント化を実現しているものを知っている方がいらしたら情報お寄せください。
さて、ではこのクライアントサイドスクリプトのコンポーネントサポートとは、WEBブラウザの側で実行されるJavaScriptもJWCコンポーネント同梱でコンポーネント化することで、アプリケーション側ではbodyタグの内側のまとまった箇所に出力する機構が備わっています。偉大なるサンプルは、Tapestryの標準JWCライブラリ中にあるDatePickerです。ボタンクリックでカレンダーをポップアップし、選択した日付をテキストボックスに入力する機能を実現するのに、クライアントサイドで動作するJavaScriptを利用しています。下記リンクで実行時の様子のイメージが出てます。残念ながらあくまでイメージでそのJavaScriptでの動きはありませんが。
http://jakarta.apache.org/tapestry/doc/ComponentReference/DatePicker.html
Tapestryでは、JavaScriptをテンプレートXML化して、タグIDなどの動的要素をバインディング情報にて反映するようにしています。
http://jakarta.apache.org/tapestry/doc/ComponentReference/Script.html
これを見ても、よくわからないでしょう。しかし、わかりにくくとも情報は書かれています。
http://jakarta.apache.org/tapestry/doc/DevelopersGuide/script.html
これは、説明が足りないのですが、一応公式ドキュメント。Tapestry in Actionはこのレベルでなく、きちんと説明しています。が、有料(書籍ですから)。
ながめて考えるに、もっと仕組みの簡単な実現は可能でしょう。SpringとSeasarの違いぐらいに。しかしマジックカスタムタグの連発になってしまう。。。もうちょい考えます。