jp.terasoluna.fw.web.taglib
クラス DefineCodeListTag

java.lang.Object
  上位を拡張 javax.servlet.jsp.tagext.TagSupport
      上位を拡張 jp.terasoluna.fw.web.taglib.DefineCodeListTag
すべての実装されたインタフェース:
java.io.Serializable, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag

public class DefineCodeListTag
extends javax.servlet.jsp.tagext.TagSupport

defineCodeList タグの実装クラス。

サーブレットコンテキストから 属性 id で指定された CodeListLoader を探し出し、 その中に保存されているコードリストを取得する。 見つからない場合は空のコードリストの取得を行う。

コードリスト内の要素はプロパティ名が id 、 name で格納されているため、アクセスするためには、タグ内のプロパティに これら要素名を用いる。 コードリストの読み込みは、 CodeListLoader インタフェースの実装クラスを参照のこと。 タグがサポートする属性

defineCodeList タグでは、以下の属性をサポートする。

属性名 デフォルト値 必須性 実行時式 概要
id - true true この属性からCodeListLoaderを検索する。つまり CodeListLoader インタフェースを実装したbeanの名前を指定する。 このタグ宣言以降、<logic:iterator>タグ、 <html:options>タグなどでコードリストが参照できる。

カスタムタグのスクリプティング変数

このタグによって設定されるスクリプティング変数はありません。


使用方法

以下の例は、CodeListLoader インタフェースを実装したクラスの bean を "loader1"と言う名前で定義して使用する場合の設定例である。
定義の方法は DBCodeListLoader、 及び MappedCodeListLoader を参照。

JSP 内での記述例。
  <ts:defineCodeList id="loader1" />
  …
  <html:select property="selectOptions">
    <html:options collection="loader1"
                  labelProperty="name"
                  property="id"/>
  </html:select>
  …
 
コードリストのサイズ取得に関しては、WriteCodeCountTag を参照

関連項目:
CodeListLoader, DBCodeListLoader, MappedCodeListLoader, WriteCodeCountTag, 直列化された形式

フィールドの概要
private static Log log
          ログクラス。
private static long serialVersionUID
          シリアルバージョンID
 
クラス javax.servlet.jsp.tagext.TagSupport から継承されたフィールド
id, pageContext
 
インタフェース javax.servlet.jsp.tagext.IterationTag から継承されたフィールド
EVAL_BODY_AGAIN
 
インタフェース javax.servlet.jsp.tagext.Tag から継承されたフィールド
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
 
コンストラクタの概要
DefineCodeListTag()
           
 
メソッドの概要
 int doEndTag()
          タグ評価終了時に呼ばれるメソッド。
 int doStartTag()
          タグ評価開始時に呼ばれるメソッド。
 void release()
          タグハンドラ解放時の処理。
 
クラス javax.servlet.jsp.tagext.TagSupport から継承されたメソッド
doAfterBody, findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

serialVersionUID

private static final long serialVersionUID
シリアルバージョンID

関連項目:
定数フィールド値

log

private static Log log
ログクラス。

コンストラクタの詳細

DefineCodeListTag

public DefineCodeListTag()
メソッドの詳細

doStartTag

public int doStartTag()
               throws javax.servlet.jsp.JspException
タグ評価開始時に呼ばれるメソッド。

サーブレットコンテキストから、ApplicationContextを取得し、 "page" 属性で指定された id で CodeListLoader を取得し、その中の コードリストを pageContext に登録する。 コードリストが発見できない場合、空のArrayListを pageContext に登録する。 なお、登録時のスコープは "page" 属性とする。

定義:
インタフェース javax.servlet.jsp.tagext.Tag 内の doStartTag
オーバーライド:
クラス javax.servlet.jsp.tagext.TagSupport 内の doStartTag
戻り値:
処理制御指示。常に EVAL_BODY_INCLUDE
例外:
javax.servlet.jsp.JspException - JSP 例外

doEndTag

public int doEndTag()
             throws javax.servlet.jsp.JspException
タグ評価終了時に呼ばれるメソッド。

定義:
インタフェース javax.servlet.jsp.tagext.Tag 内の doEndTag
オーバーライド:
クラス javax.servlet.jsp.tagext.TagSupport 内の doEndTag
戻り値:
処理制御指示。常に EVAL_PAGE
例外:
javax.servlet.jsp.JspException - JSP 例外

release

public void release()
タグハンドラ解放時の処理。

定義:
インタフェース javax.servlet.jsp.tagext.Tag 内の release
オーバーライド:
クラス javax.servlet.jsp.tagext.TagSupport 内の release