目次へ

22. Tilesタグライブラリ

22.1. useAttributeタグ/importAttributeタグ

この章ではTilesタグライブラリについて説明します。既に幾つかのタグを使用していますが、整理もかねて説明します。またTilesタグライブラリのタグは、Tiles設定ファイルのタグと対応しているものが多いので、それらとあわせて説明します。

useAttributeタグ/importAttributeタグは、Tilesの組み合わせに設定されているオブジェクトを読み込むタグです。このタグを使用することによって、組み合わせに設定されているオブジェクトが、他のタグライブラリから使用可能になります。importAttributeタグは、読み込んだオブジェクトを指定したスコープに登録します。useAttributeタグは指定したスコープに登録し、かつそのオブジェクトを指定したスクリプト変数で扱えるようにします。

useAttributeタグ/importAttributeタグに共通の属性を以下に示します。

属性名 必須 スクリプト
可能
説明

name

Tilesの組み合わせから、読み込むオブジェクトの名前を指定。

scope

 

読み込んだオブジェクトを登録するスコープを指定。デフォルトは「page」スコープ。

ignore

 

この属性の値が「true」に設定されると、指定したオブジェクトが無かった場合にもエラーが発生しません。デフォルトは「false」ですので、オブジェクトが無いとエラーが発生します。

useAttributeタグに定義されている属性を以下に示します。

属性名 必須 スクリプト
可能
説明

id

   

スクリプト変数の名前を指定。指定しなかった場合には、「name」属性の値がスクリプト変数の名前になる。

classname

   

スクリプト変数の型を指定。デフォルトは「java.lang.Object」。

20章3節で定義した文字列のリストを出力するJSPページは、useAttributeタグを使用して以下のように変更することができます。

<tiles:useAttribute name="textList" classname="java.util.List">
<% for(int i=0; i<textList.size(); i++){ %>
  <%=textList.get(i) %>
<% } %>

(実習課題1)

20章2節のWebアプリケーションを改良しなさい。

  • メニューを表示する部分を、<tiles:useAttribute>タグとスクリプトだけで実現すること。

解答例はこちら

↑このページの先頭へ

こちらもチェック!

PR
  • XMLDB.jp