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

java.lang.Object
  上位を拡張 javax.servlet.jsp.tagext.TagSupport
      上位を拡張 jp.terasoluna.fw.web.taglib.DateFormatterTagBase
すべての実装されたインタフェース:
java.io.Serializable, javax.servlet.jsp.tagext.IterationTag, javax.servlet.jsp.tagext.JspTag, javax.servlet.jsp.tagext.Tag
直系の既知のサブクラス:
DateTag, JDateTag

public abstract class DateFormatterTagBase
extends javax.servlet.jsp.tagext.TagSupport

日付時刻をフォーマットして出力、あるいはスクリプティング変数として 定義するカスタムタグための抽象基底クラス。

日付時刻のフォーマットを行うカスタムタグのクラスはこの基底クラスを 継承して作成する。

フォーマット対象となる日付時刻データとしては、java.util.Date 型、あるいは java.lang.String 型をサポートする。ただし、 java.lang.String 型のデータをフォーマットする際には、 その文字列が "yyyy/MM/dd HH:mm:ss" の形式となっている必要がある。 (format属性やgetDefaultDateFormat() メソッドのオーバーライドで変更可能)

DateFormatterTagBase クラスを継承したサブクラスでは、 実際に文字列のフォーマットを行う抽象メソッド doFormat(Date date) を実装する。

タグがサポートする属性

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

属性名 デフォルト値 必須性 実行時式 概要
id - false false フォーマットされた文字列をレスポンスへ出力せずに、 スクリプティング変数にセットする際に指定する。 フォーマットされた文字列をスクリプティング変数にセットする場合には、 filter 属性の指定に関わらずHTML 特殊文字はエスケープされない。
filter true false true フォーマットされた文字列を出力する際に、HTML特殊文字を エスケープするかどうかを指定する。ただし、id 属性が 指定されていた場合には、無視される。
ignore false false true name 属性で指定した beanが 見つからなかったときに無視するかどうかを指定する。false を指定すると、beanが見つからなかったときに JspException が投げられる。
name - false true フォーマット対象の文字列をプロパティに持つ beanの名前。property 属性が指定されて いなかったときには、name 属性で指定されたインスタンスが がフォーマットの対象となる。この場合は、 そのインスタンス自身が java.util.Date 型であるか、あるいは java.lang.String 型(かつ"yyyy/MM/dd HH:mm:ss" の形式となっているもの)のどちらかである必要がある。value 属性が指定されていた場合には、無視される。
property - false true name 属性で指定された bean においてアクセスされるプロパティの名前。value 属性が 指定されていた場合には無視される。
scope false true findAttribute()メソッドの検索順序) name 属性で指定された bean を検索する際のスコープ。
value - false true フォーマットする文字列。文字列は、 "yyyy/MM/dd HH:mm:ss"の形式となっている必要がある。 (format属性やgetDefaultDateFormat() メソッドのオーバーライドで変更可能) value 属性を指定した場合には、name 属性、および property 属性は無視される。
pattern - true true フォーマットする出力形式。pattern 属性で指定した出力形式は、DateFormatterTagBase クラスのサブクラスで解釈される。詳細は、サブクラスのドキュメントを 参照のこと。
format yyyy/MM/dd HH:mm:ss false true 日付時刻のフォーマット。デフォルト値を変更する場合は getDefaultDateFormat() メソッドをオーバーライドする。


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

DateFormatterTagBase では以下の変数をサポートする。

変数名 有効範囲 記述
カスタムタグの id 属性で指定された名前 String 開始タグ以降 このカスタムタグで出力せず、スクリプティング変数へ 設定する場合の変数名。

関連項目:
DateTag, JDateTag, 直列化された形式

フィールドの概要
private static java.lang.String DATE_FORMAT
          日付時刻のフォーマットのデフォルト値。
protected  boolean filter
          出力中のHTML特殊文字をフィルターするかどうか。
protected  java.lang.String format
          入力となる日付時刻のフォーマット。
protected  java.lang.String id
          そのページ内で利用できるようにするためのスクリプティング変数の名前。
protected  boolean ignore
          beanが見つからなかったときに、単に無視する(何も出力しない)かどうか。
private static org.apache.commons.logging.Log log
          ログクラス。
protected  java.lang.String name
          フォーマット対象のデータを含むbeanの名前。
protected  java.lang.String pattern
          出力のフォーマットを指定するパターン。
protected  java.lang.String property
          指定されたbeanにおいてアクセスされるプロパティの名前。
protected  java.lang.String scope
          指定されたbeanを検索するスコープ。
protected  java.lang.String value
          フォーマット対象の値(文字列)。
 
クラス javax.servlet.jsp.tagext.TagSupport から継承されたフィールド
pageContext
 
インタフェース javax.servlet.jsp.tagext.IterationTag から継承されたフィールド
EVAL_BODY_AGAIN
 
インタフェース javax.servlet.jsp.tagext.Tag から継承されたフィールド
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
 
コンストラクタの概要
DateFormatterTagBase()
           
 
メソッドの概要
protected abstract  java.lang.String doFormat(java.util.Date date)
          日付時刻のフォーマットを行う抽象メソッド。
 int doStartTag()
          タグ評価開始時に呼ばれるメソッド。
protected  java.lang.String getDefaultDateFormat()
          日付時刻のフォーマットのデフォルト値を取得する。
 java.lang.String getFormat()
          入力となる日付時刻のフォーマットを取得する。
 void release()
          すべてのアロケートされた資源を解放する。
 void setFilter(boolean filter)
          出力中のHTML特殊文字をフィルターするかどうかを設定する。
 void setFormat(java.lang.String format)
          入力となる日付時刻のフォーマットを設定する。
 void setId(java.lang.String id)
          スクリプティング変数の名前を設定する。
 void setIgnore(boolean ignore)
          beanが見つからなかった場合に無視するかどうかを設定する。
 void setName(java.lang.String name)
          フォーマット対象のデータを含むbeanの名前を設定する。
 void setPattern(java.lang.String pattern)
          出力のフォーマットを指定するパターンを設定する。
 void setProperty(java.lang.String property)
          指定されたbeanにおいてアクセスされるプロパティ名を設定する。
 void setScope(java.lang.String scope)
          指定されたbeanを検索するスコープを設定する。
 void setValue(java.lang.String value)
          フォーマット対象の値を設定する。
 
クラス javax.servlet.jsp.tagext.TagSupport から継承されたメソッド
doAfterBody, doEndTag, findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setPageContext, setParent, setValue
 
クラス java.lang.Object から継承されたメソッド
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

フィールドの詳細

log

private static org.apache.commons.logging.Log log
ログクラス。


DATE_FORMAT

private static final java.lang.String DATE_FORMAT
日付時刻のフォーマットのデフォルト値。 文字列データを日付時刻として解釈する際に使用される。

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

format

protected java.lang.String format
入力となる日付時刻のフォーマット。


id

protected java.lang.String id
そのページ内で利用できるようにするためのスクリプティング変数の名前。


filter

protected boolean filter
出力中のHTML特殊文字をフィルターするかどうか。デフォルトは true


ignore

protected boolean ignore
beanが見つからなかったときに、単に無視する(何も出力しない)かどうか。 無視しない場合には、例外を投げる。デフォルトは false (例外を投げる)。


name

protected java.lang.String name
フォーマット対象のデータを含むbeanの名前。


property

protected java.lang.String property
指定されたbeanにおいてアクセスされるプロパティの名前。


scope

protected java.lang.String scope
指定されたbeanを検索するスコープ。


pattern

protected java.lang.String pattern
出力のフォーマットを指定するパターン。 SimpleDateFormat と同じ書式で指定する。


value

protected java.lang.String value
フォーマット対象の値(文字列)。

コンストラクタの詳細

DateFormatterTagBase

public DateFormatterTagBase()
メソッドの詳細

getDefaultDateFormat

protected java.lang.String getDefaultDateFormat()
日付時刻のフォーマットのデフォルト値を取得する。

デフォルト値を変更する場合はこのメソッドをオーバーライドする。

※デフォルト値は"yyyy/MM/dd HH:mm:ss"

戻り値:
日付時刻のフォーマットのデフォルト値

getFormat

public java.lang.String getFormat()
入力となる日付時刻のフォーマットを取得する。

戻り値:
format 日付時刻のフォーマット

setFormat

public void setFormat(java.lang.String format)
入力となる日付時刻のフォーマットを設定する。

パラメータ:
format - 日付時刻のフォーマット

setId

public void setId(java.lang.String id)
スクリプティング変数の名前を設定する。

オーバーライド:
クラス javax.servlet.jsp.tagext.TagSupport 内の setId
パラメータ:
id - スクリプティング変数名

setFilter

public void setFilter(boolean filter)
出力中のHTML特殊文字をフィルターするかどうかを設定する。

パラメータ:
filter - 出力中のHTML特殊文字をフィルターする場合は true

setIgnore

public void setIgnore(boolean ignore)
beanが見つからなかった場合に無視するかどうかを設定する。

パラメータ:
ignore - 無視する場合は true

setName

public void setName(java.lang.String name)
フォーマット対象のデータを含むbeanの名前を設定する。

パラメータ:
name - beanの名前

setProperty

public void setProperty(java.lang.String property)
指定されたbeanにおいてアクセスされるプロパティ名を設定する。

パラメータ:
property - プロパティ名

setScope

public void setScope(java.lang.String scope)
指定されたbeanを検索するスコープを設定する。

パラメータ:
scope - スコープ

setPattern

public void setPattern(java.lang.String pattern)
出力のフォーマットを指定するパターンを設定する。

パラメータ:
pattern - パターン

setValue

public void setValue(java.lang.String value)
フォーマット対象の値を設定する。

パラメータ:
value - フォーマット対象の値

doStartTag

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

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

release

public void release()
すべてのアロケートされた資源を解放する。

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

doFormat

protected abstract java.lang.String doFormat(java.util.Date date)
日付時刻のフォーマットを行う抽象メソッド。 サブクラスでオーバーライドする。

パラメータ:
date - 日付時刻
戻り値:
フォーマットされた文字列