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 |
開始タグ以降 | このカスタムタグで出力せず、スクリプティング変数へ 設定する場合の変数名。 |
修飾子とタイプ | フィールドと説明 |
---|---|
protected boolean |
filter
出力中のHTML特殊文字をフィルターするかどうか。
|
protected String |
format
入力となる日付時刻のフォーマット。
|
protected String |
id
そのページ内で利用できるようにするためのスクリプティング変数の名前。
|
protected boolean |
ignore
beanが見つからなかったときに、単に無視する(何も出力しない)かどうか。
|
protected String |
name
フォーマット対象のデータを含むbeanの名前。
|
protected String |
pattern
出力のフォーマットを指定するパターン。
|
protected String |
property
指定されたbeanにおいてアクセスされるプロパティの名前。
|
protected String |
scope
指定されたbeanを検索するスコープ。
|
protected String |
value
フォーマット対象の値(文字列)。
|
コンストラクタと説明 |
---|
DateFormatterTagBase() |
修飾子とタイプ | メソッドと説明 |
---|---|
protected abstract String |
doFormat(Date date)
日付時刻のフォーマットを行う抽象メソッド。
|
int |
doStartTag()
タグ評価開始時に呼ばれるメソッド。
|
protected String |
getDefaultDateFormat()
日付時刻のフォーマットのデフォルト値を取得する。
|
String |
getFormat()
入力となる日付時刻のフォーマットを取得する。
|
void |
release()
すべてのアロケートされた資源を解放する。
|
void |
setFilter(boolean filter)
出力中のHTML特殊文字をフィルターするかどうかを設定する。
|
void |
setFormat(String format)
入力となる日付時刻のフォーマットを設定する。
|
void |
setId(String id)
スクリプティング変数の名前を設定する。
|
void |
setIgnore(boolean ignore)
beanが見つからなかった場合に無視するかどうかを設定する。
|
void |
setName(String name)
フォーマット対象のデータを含むbeanの名前を設定する。
|
void |
setPattern(String pattern)
出力のフォーマットを指定するパターンを設定する。
|
void |
setProperty(String property)
指定されたbeanにおいてアクセスされるプロパティ名を設定する。
|
void |
setScope(String scope)
指定されたbeanを検索するスコープを設定する。
|
void |
setValue(String value)
フォーマット対象の値を設定する。
|
protected String format
protected String id
protected boolean filter
true
。protected boolean ignore
false
(例外を投げる)。protected String name
protected String property
protected String scope
protected String pattern
SimpleDateFormat
と同じ書式で指定する。protected String value
protected String getDefaultDateFormat()
デフォルト値を変更する場合はこのメソッドをオーバーライドする。
※デフォルト値は"yyyy/MM/dd HH:mm:ss"
public String getFormat()
public void setFormat(String format)
format
- 日付時刻のフォーマットpublic void setId(String id)
setId
クラス内 javax.servlet.jsp.tagext.TagSupport
id
- スクリプティング変数名public void setFilter(boolean filter)
filter
- 出力中のHTML特殊文字をフィルターする場合は
true
public void setIgnore(boolean ignore)
ignore
- 無視する場合は true
public void setName(String name)
name
- beanの名前public void setProperty(String property)
property
- プロパティ名public void setScope(String scope)
scope
- スコープpublic void setPattern(String pattern)
pattern
- パターンpublic void setValue(String value)
value
- フォーマット対象の値public int doStartTag() throws javax.servlet.jsp.JspException
doStartTag
インタフェース内 javax.servlet.jsp.tagext.Tag
doStartTag
クラス内 javax.servlet.jsp.tagext.TagSupport
SKIP_BODY
javax.servlet.jsp.JspException
- JSP例外public void release()
release
インタフェース内 javax.servlet.jsp.tagext.Tag
release
クラス内 javax.servlet.jsp.tagext.TagSupport
Copyright © 2014. All Rights Reserved.