|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |
java.lang.Objectjavax.servlet.jsp.tagext.TagSupport
jp.terasoluna.fw.web.taglib.StringFormatterTagBase
public abstract class StringFormatterTagBase
文字列をフォーマットして出力、あるいはスクリプティング変数として定義する カスタムタグための抽象基底クラス。
文字列の切り出し、トリム等のフォーマットを行うカスタムタグのクラスは
この基底クラスを継承して作成する。(TERASOLUNA
の提供する
fmtx
カスタムタグライブラリ等)
このクラスによってフォーマットされた文字列が、レスポンスへ出力される
のか、あるいはスクリプティング変数にセットされるのか動作の違いは、
id
属性の有無で決定される。
フォーマット対象となる文字列は、以下の優先順序で決定される。
value
属性が指定されている場合には、
その指定された文字列をフォーマットする。
name
属性で bean
名が指定されている場合には、
その指定された bean
のインスタンスの、
property
属性で指定されたプロパティをフォーマットする。
ただし、name
属性が指定されているときに、
property
属性が指定されていない場合には、name
属性で示されるインスタンスの値(toString()
メソッドで
返されるオブジェクトの文字列表現)が、フォーマットの対象となる。
name
属性で指定された bean
が見つからなかったときの
カスタムタグの動作は、ignore
属性によって決定される。
ignore
属性がtrueである場合には、
bean
が見つからなかったときには単に無視され、何も出力しない
(id
属性が指定されている場合には、スクリプティング変数に
セットされない)。
ignore
属性がfalse(デフォルト)である場合には、
name
属性が指定されたbeanが見つからなかったときには
JspException
が投げられる。
bean
の検索対象として、scope
属性を指定することができる。
scope
属性を指定しなかった場合には、
javax.servlet.jsp.PageContext
クラスの
findAttribute()
メソッドの検索順序で検索される。
id
属性が指定された場合には、フォーマットされた文字列を出力
せずに、id
属性で指定された変数名のスクリプティング変数にセット
する。
filter
属性が true
(デフォルト)で
あるときには、出力される際に、HTML
特殊文字(
org.apache.struts.util.ResponceUtils
クラスの
filter()
メソッドで処理されるもの。
「<」、「>」、「&」、「"」の4文字)をエスケープする。
スクリプティング変数にセットする場合には、filter
属性は無視
され、フォーマットされた文字列がそのままスクリプティング変数にセットされ
る。
replaceSpToNbsp
属性がtrue
(デフォルト)で
あるときには、出力される際に、1Byteコードのスペース(半角スペース)が
存在する場合「 」に変換する。
スクリプティング変数にセットする場合には、replaceSpToNbsp
属性は無視
され、フォーマットされた文字列がそのままスクリプティング変数にセットされ
る
StringFormatterTagBase
クラスを継承したサブクラスでは、
実際に文字列のフォーマットを行う抽象メソッド doFormat()
を実装する。
StringFormatterTagBase
では、以下の属性をサポートする。
属性名 | デフォルト | 必須性 | 実行時式 | 記述 |
id | - | 任意 | false |
フォーマットした文字列を出力せずに、スクリプティング変数
にセットする際に指定する。フォーマットされた文字列をスクリプティング
変数にセットする場合には、filter 属性の指定に関わらずHTML
特殊文字はエスケープされない。
|
filter | true | - | 任意 |
フォーマットされた文字列を出力する際に、HTML 特殊文字を
エスケープするかどうかを指定する。ただし、id 属性が
指定されていた場合には、無視される。
|
ignore | false | - | 任意 |
name 属性で指定した beanが
見つからなかったときに無視するかどうかを指定する。false を
指定すると、bean が見つからなかったときに
JspException が投げられる。
|
name | - | - | 任意 |
フォーマット対象の文字列をプロパティに持つ
bean の名前。property 属性が指定されて
いなかったときには、name 属性で指定されたインスタンスの
文字列表現 toString() メソッドで返される文字列)
がフォーマットの対象となる。value
属性が指定されていた場合には、無視される。
|
property | - | - | 任意 | name 属性で指定された bean
においてアクセスされるプロパティの名前。value 属性が
指定されていた場合には無視される。
|
scope | (findAttribute() メソッドの検索順序) |
- | 任意 | name 属性で指定された bean
を検索する際のスコープ。
|
value | なし | - | 任意 | フォーマットする文字列。value 属性を
指定した場合には、name 属性、および property
属性は無視される。
|
replaceSpToNbsp |
- | false |
true |
この属性がtrueにセットされ、
指定したbeanプロパティの値に1Byteコードのスペースが存在する場合
に置換する。
無効にするためには、この属性に明示的に false をセットする必要がある。
ただし、id 属性が指定されていた場合には、無視される。
|
StringFormatterTagBase
では以下の変数をサポートする。
スクリプティング変数名 | 型 | 変数の利用可能範囲 | 記述 |
カスタムタグのid 属性で指定された名前 |
java.lang.String |
開始タグ以降 | このカスタムタグで出力せず、スクリプティング変数へ 設定する場合の変数名。 |
LeftTag
,
RTrimTag
,
LTrimTag
,
TrimTag
,
直列化された形式フィールドの概要 | |
---|---|
protected boolean |
filter
出力中のHTML特殊文字をフィルターするかどうか。 |
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 |
property
指定されたbeanにおいてアクセスされるプロパティの名前。 |
protected boolean |
replaceSpToNbsp
半角スペースを と置換する。 |
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 |
コンストラクタの概要 | |
---|---|
StringFormatterTagBase()
|
メソッドの概要 | |
---|---|
protected abstract java.lang.String |
doFormat(java.lang.String s)
文字列のフォーマットを行う抽象メソッド。 |
int |
doStartTag()
タグ評価開始時に呼ばれるメソッド。 |
boolean |
getFilter()
出力中のHTML特殊文字をフィルターするかどうかを取得する。 |
java.lang.String |
getId()
スクリプティング変数の名前を取得する。 |
boolean |
getIgnore()
beanが見つからなかった場合に無視するかどうかを取得する。 |
java.lang.String |
getName()
フォーマット対象のデータを含むbeanの名前を取得する。 |
java.lang.String |
getProperty()
指定されたbeanにおいてアクセスされるプロパティ名を取得する。 |
boolean |
getReplaceSpToNbsp()
replaceSpToNbsp の get メソッド
|
java.lang.String |
getScope()
指定されたbeanを検索するスコープを取得する。 |
java.lang.String |
getValue()
フォーマット対象の値を取得する。 |
void |
release()
すべてのアロケートされた資源を解放する |
void |
setFilter(boolean filter)
出力中のHTML特殊文字をフィルターするかどうかを設定する。 |
void |
setId(java.lang.String id)
スクリプティング変数の名前を設定する。 |
void |
setIgnore(boolean ignore)
beanが見つからなかった場合に無視するかどうかを設定する。 |
void |
setName(java.lang.String name)
フォーマット対象のデータを含むbeanの名前を設定する。 |
void |
setProperty(java.lang.String property)
指定されたbeanにおいてアクセスされるプロパティ名を設定する。 |
void |
setReplaceSpToNbsp(boolean replaceSpToNbsp)
replaceSpToNbsp の set メソッド
|
void |
setScope(java.lang.String scope)
指定されたbeanを検索するスコープを設定する。 |
void |
setValue(java.lang.String value)
フォーマット対象の値を設定する。 |
クラス javax.servlet.jsp.tagext.TagSupport から継承されたメソッド |
---|
doAfterBody, doEndTag, findAncestorWithClass, getParent, getValue, getValues, removeValue, setPageContext, setParent, setValue |
クラス java.lang.Object から継承されたメソッド |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
フィールドの詳細 |
---|
private static org.apache.commons.logging.Log log
protected java.lang.String id
protected boolean filter
protected boolean ignore
protected java.lang.String name
protected java.lang.String property
protected java.lang.String scope
protected java.lang.String value
protected boolean replaceSpToNbsp
半角スペースを
と置換する。
コンストラクタの詳細 |
---|
public StringFormatterTagBase()
メソッドの詳細 |
---|
public java.lang.String getId()
javax.servlet.jsp.tagext.TagSupport
内の getId
public void setId(java.lang.String id)
javax.servlet.jsp.tagext.TagSupport
内の setId
id
- スクリプティング変数名public boolean getFilter()
public void setFilter(boolean filter)
filter
- 出力中のHTML特殊文字をフィルターする場合はtruepublic boolean getIgnore()
public void setIgnore(boolean ignore)
ignore
- 無視する場合はtruepublic java.lang.String getName()
public void setName(java.lang.String name)
name
- beanの名前public java.lang.String getProperty()
public void setProperty(java.lang.String property)
property
- プロパティ名public java.lang.String getScope()
public void setScope(java.lang.String scope)
scope
- スコープpublic java.lang.String getValue()
public void setValue(java.lang.String value)
value
- フォーマット対象の値public boolean getReplaceSpToNbsp()
replaceSpToNbsp
の get
メソッド
変換フラグpublic void setReplaceSpToNbsp(boolean replaceSpToNbsp)
replaceSpToNbsp
の set
メソッド
replaceSpToNbsp
- 半角スペースから
変換フラグpublic int doStartTag() throws javax.servlet.jsp.JspException
javax.servlet.jsp.tagext.Tag
内の doStartTag
javax.servlet.jsp.tagext.TagSupport
内の doStartTag
javax.servlet.jsp.JspException
- タグ評価時にエラーpublic void release()
javax.servlet.jsp.tagext.Tag
内の release
javax.servlet.jsp.tagext.TagSupport
内の release
protected abstract java.lang.String doFormat(java.lang.String s)
s
- フォーマット対象文字列
|
||||||||||
前のクラス 次のクラス | フレームあり フレームなし | |||||||||
概要: 入れ子 | フィールド | コンストラクタ | メソッド | 詳細: フィールド | コンストラクタ | メソッド |