public class MessageTag extends HtmlEscapingAwareTag implements ArgumentAware
<message>
タグは、このページのスコープでメッセージを検索します。メッセージは ApplicationContext を使用して解決されるため、国際化をサポートします。 このタグインスタンス、ページレベル、web.xml
レベルの HTML エスケープ設定を検出します。JavaScript エスケープも適用できます。
「コード」が設定されていないか解決できない場合、「テキスト」がデフォルトのメッセージとして使用されます。このタグは、テキストの HTML エスケープにも使用できます。
メッセージ引数は、arguments
属性を介して、またはネストされた <spring:argument>
タグを使用して指定できます。
属性 | 必須 ? | ランタイム式? | 説明 |
---|---|---|---|
引数 | false | true | このタグのオプションのメッセージ引数を、(カンマで)区切られた文字列(各文字列引数は JSP EL を含むことができます)、オブジェクト配列(引数配列として使用)、単一オブジェクト(単一引数として使用)として設定します。 |
argumentSeparator | false | true | 引数の文字列値を分割するために使用される区切り文字。デフォルトは「カンマ」('、')です。 |
コード | false | true | メッセージを検索するときに使用するコード(キー)。コードが指定されていない場合は、text 属性が使用されます。 |
htmlEscape | false | true | このタグの HTML エスケープをブール値として設定します。現在のページのデフォルトの HTML エスケープ設定をオーバーライドします。 |
javaScriptEscape | false | true | このタグの JavaScript エスケープをブール値として設定します。デフォルトは false です。 |
メッセージ | false | true | MessageSourceResolvable 引数(直接または JSP EL を介して)。MessageSourceResolvable インターフェースをすべて実装する Spring 独自の検証エラークラスと組み合わせて使用すると、うまく適合します。例: これにより、フォーム内のすべてのエラーを繰り返し処理し、各ランタイムエラーを(ランタイム式を使用して)この 'message' 属性の値として渡すことができるため、このようなエラーメッセージを簡単に表示できます。 |
範囲 | false | true | 結果を変数にエクスポートするときに使用するスコープ。この属性は、var も設定されている場合にのみ使用されます。可能な値は、ページ、リクエスト、セッション、アプリケーションです。 |
テキスト | false | true | 指定されたコードのメッセージが見つからなかったときに出力するデフォルトのテキスト。テキストとコードの両方が設定されていない場合、タグは null を出力します。 |
var | false | true | 結果をページ、リクエスト、セッション、アプリケーションスコープにバインドするときに使用する文字列。指定しない場合、結果はライターに出力されます(つまり、通常は直接 JSP に出力されます)。 |
setCode(java.lang.String)
, setText(java.lang.String)
, HtmlEscapingAwareTag.setHtmlEscape(boolean)
, setJavaScriptEscape(boolean)
, HtmlEscapeTag.setDefaultHtmlEscape(boolean)
, WebUtils.HTML_ESCAPE_CONTEXT_PARAM
, ArgumentTag
, 直列化された形式 修飾子と型 | フィールドと説明 |
---|---|
static StringSE | DEFAULT_ARGUMENT_SEPARATOR 引数を分割するためのデフォルトの区切り文字列: コンマ(",")。 |
logger, REQUEST_CONTEXT_PAGE_ATTRIBUTE
idEE, pageContextEE
EVAL_BODY_AGAINEE
EVAL_BODY_INCLUDEEE, EVAL_PAGEEE, SKIP_BODYEE, SKIP_PAGEEE
コンストラクターと説明 |
---|
MessageTag() |
修飾子と型 | メソッドと説明 |
---|---|
void | addArgument(ObjectSE argument) ネストされた spring:argument タグのコールバックフック。親タグに値を渡します。 |
int | doEndTag() メッセージを解決し、必要に応じてエスケープし、ページに書き込みます(または変数として公開します)。 |
protected int | doStartTagInternal() 実際の作業を実行するために doStartTag によって呼び出されます。 |
protected MessageSource | getMessageSource() 現在の RequestContext のアプリケーションコンテキストを MessageSource として使用します。 |
protected StringSE | getNoSuchMessageExceptionDescription(NoSuchMessageException ex) デフォルトの例外メッセージを返します。 |
void | release() |
protected ObjectSE[] | resolveArguments(ObjectSE arguments) 指定された引数オブジェクトを引数配列に解決します。 |
protected StringSE | resolveMessage() 指定されたメッセージを具体的なメッセージ文字列に解決します。 |
void | setArguments(ObjectSE arguments) このタグのオプションのメッセージ引数を、カンマ区切りの文字列(各文字列引数に JSP EL を含めることができる)、オブジェクト配列(引数配列として使用)、単一のオブジェクト(単一引数として使用)として設定します。 |
void | setArgumentSeparator(StringSE argumentSeparator) 引数の文字列の分割に使用するセパレータを設定します。 |
void | setCode(StringSE code) このタグのメッセージコードを設定します。 |
void | setJavaScriptEscape(boolean javaScriptEscape) このタグの JavaScript エスケープをブール値として設定します。 |
void | setMessage(MessageSourceResolvable message) このタグに MessageSourceResolvable を設定します。 |
void | setScope(StringSE scope) 変数をエクスポートするスコープを設定します。 |
void | setText(StringSE text) このタグのメッセージテキストを設定します。 |
void | setVar(StringSE var) 解決されたメッセージを含む変数を公開する PageContext 属性名を設定します。 |
protected void | writeMessage(StringSE msg) メッセージをページに書き込みます。 |
htmlEscape, isDefaultHtmlEscape, isHtmlEscape, isResponseEncodedHtmlEscape, setHtmlEscape
doCatch, doFinally, doStartTag, getRequestContext
doAfterBodyEE, findAncestorWithClassEE, getIdEE, getParentEE, getValueEE, getValuesEE, removeValueEE, setIdEE, setPageContextEE, setParentEE, setValueEE
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public void setMessage(MessageSourceResolvable message)
MessageSourceResolvable が指定されている場合は、このタグで指定されているコード、引数、テキストを効果的にオーバーライドします。
public void setCode(StringSE code)
public void setArguments(ObjectSE arguments)
public void setArgumentSeparator(StringSE argumentSeparator)
public void addArgument(@Nullable ObjectSE argument) throws JspTagExceptionEE
ArgumentAware
ArgumentAware
の addArgument
argument
- ネストされた spring:argument
タグの結果 JspTagExceptionEE
public void setText(StringSE text)
public void setVar(StringSE var)
public void setScope(StringSE scope)
public void setJavaScriptEscape(boolean javaScriptEscape) throws JspExceptionEE
protected final int doStartTagInternal() throws JspExceptionEE, IOExceptionSE
RequestContextAwareTag
RequestContextAwareTag
の doStartTagInternal
JspExceptionEE
IOExceptionSE
TagSupport.doStartTag()
EEpublic int doEndTag() throws JspExceptionEE
TagEE
の doEndTagEE
TagSupportEE
の doEndTagEE
JspExceptionEE
resolveMessage()
, HtmlUtils.htmlEscape(String)
, JavaScriptUtils.javaScriptEscape(String)
, writeMessage(String)
public void release()
TagEE
の releaseEE
TagSupportEE
の releaseEE
protected StringSE resolveMessage() throws JspExceptionEE, NoSuchMessageException
@Nullable protected ObjectSE[] resolveArguments(@Nullable ObjectSE arguments) throws JspExceptionEE
arguments
- 指定された引数 ObjectJspExceptionEE
- 引数の変換に失敗した場合 setArguments(java.lang.Object)
protected void writeMessage(StringSE msg) throws IOExceptionSE
サブクラスでオーバーライドできます。例: テスト目的
msg
- 書き込むメッセージ IOExceptionSE
- 書き込みに失敗した場合 protected MessageSource getMessageSource()
protected StringSE getNoSuchMessageExceptionDescription(NoSuchMessageException ex)