クラス ErrorsTag
java.lang.Object
javax.servlet.jsp.tagext.TagSupport
javax.servlet.jsp.tagext.BodyTagSupport
org.iplass.mtp.web.template.tags.ErrorsTag
- すべての実装されたインタフェース:
java.io.Serializable
,javax.servlet.jsp.tagext.BodyTag
,javax.servlet.jsp.tagext.IterationTag
,javax.servlet.jsp.tagext.JspTag
,javax.servlet.jsp.tagext.Tag
,javax.servlet.jsp.tagext.TryCatchFinally
public class ErrorsTag
extends javax.servlet.jsp.tagext.BodyTagSupport
implements javax.servlet.jsp.tagext.TryCatchFinally
エラーが存在する場合、エラー内容をフォーマットしてhtml出力するJSPタグです。
ErrorsTagが記述される場所、設定される属性値により、出力される内容が異なります。
-
bindタグ配下、かつprop指定がある場合
当該プロパティに紐付くエラーがある場合、エラーを出力します。
利用例
<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="m" uri="http://iplass.org/tags/mtp"%> : <m:bind bean="${formBean}"> <m:bind prop="userName"> user name : <input type="text" value="${value}" name="${name}"> <m:errors /> </m:bind> </m:bind>
-
bindタグ配下、かつprop指定がない場合
当該Beanに紐付くエラーがある場合、そのすべてのエラーを出力します。
利用例
<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="m" uri="http://iplass.org/tags/mtp"%> : <m:bind bean="${formBean}"> <m:errors /> : </m:bind>
-
bindタグ配下ではない場合
requestからWebRequestConstants.EXCEPTION
をキーに例外を取得しメッセージ出力します。 当該ExceptionがMappingException
の場合、その例外に保持されるMappingResult
のメッセージを出力します。
当該ExceptionがApplicationException
の場合、その例外のメッセージを出力します。
当該Exceptionがそれ以外の場合、固定のシステム例外メッセージを出力します。 -
タグ属性にて明示的にerrorsを指定した場合
指定されたインスタンスにより適切にメッセージ出力します。 出力内容については属性の説明:errorsを参照してください。
指定可能な属性の説明
属性名 | Script可 | デフォルト値 | 説明 |
---|---|---|---|
errors | ○ |
出力するエラー対象を指定します。指定されたエラー対象により適切にエラーメッセージ出力します。
WebRequestConstants.EXCEPTION をキーに例外を探します。
|
|
delimiter | <br> | エラーメッセージが複数ある場合のデリミタを指定可能です。 | |
header | <span class=\"error\"> | エラーメッセージを出力する際、先頭に出力する内容を指定可能です。 | |
footer | </span> | エラーメッセージを出力する際、最後に出力する内容を指定可能です。 | |
htmlEscape | true | エラーメッセージを出力する際にhtmlエスケープ処理をするか否かを指定可能です。 | |
errorsVariableName | errors | エラーをpageContextに公開する際の変数名を指定可能です。また、この変数名はバインドされているエラーを探す場合にも利用されます。 |
メッセージ出力内容のカスタム
タグ内のBODYにJSPコードを記述することにより、エラーメッセージ出力内容をカスタマイズすることが可能です。
カスタマイズ例
<%@page language="java" contentType="text/html; charset=UTF-8" pageEncoding="UTF-8"%> <%@taglib prefix="m" uri="http://iplass.org/tags/mtp"%> : <m:errors> <span> <b>エラーが発生しました</b><br> エラー内容:${errors} </span> </m:errors>カスタマイズ出力する場合は、delimiter、header、footer、htmlEscapeの設定は利用されません。
- 関連項目:
- 直列化された形式
-
フィールドの概要
フィールド 修飾子とタイプ フィールド 説明 static java.lang.String
DEFAULT_DELIMITER
static java.lang.String
DEFAULT_ERROR_VARIABLE_NAME
static java.lang.String
DEFAULT_FOOTER
static java.lang.String
DEFAULT_HEADER
-
コンストラクタの概要
コンストラクタ コンストラクタ 説明 ErrorsTag()
-
メソッドの概要
修飾子とタイプ メソッド 説明 void
doCatch(java.lang.Throwable t)
int
doEndTag()
void
doFinally()
int
doStartTag()
java.lang.String
getDelimiter()
java.lang.Object
getErrors()
java.lang.String
getErrorsVariableName()
java.lang.String
getFooter()
java.lang.String
getHeader()
boolean
isHtmlEscape()
void
setDelimiter(java.lang.String delimiter)
void
setErrors(java.lang.Object errors)
void
setErrorsVariableName(java.lang.String errorsVariableName)
void
setFooter(java.lang.String footer)
void
setHeader(java.lang.String header)
void
setHtmlEscape(boolean htmlEscape)
クラスから継承されたメソッド javax.servlet.jsp.tagext.BodyTagSupport
doAfterBody, doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
クラスから継承されたメソッド javax.servlet.jsp.tagext.TagSupport
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
-
フィールド詳細
-
DEFAULT_ERROR_VARIABLE_NAME
public static final java.lang.String DEFAULT_ERROR_VARIABLE_NAME- 関連項目:
- 定数フィールド値
-
DEFAULT_DELIMITER
public static final java.lang.String DEFAULT_DELIMITER- 関連項目:
- 定数フィールド値
-
DEFAULT_HEADER
public static final java.lang.String DEFAULT_HEADER- 関連項目:
- 定数フィールド値
-
DEFAULT_FOOTER
public static final java.lang.String DEFAULT_FOOTER- 関連項目:
- 定数フィールド値
-
-
コンストラクタの詳細
-
ErrorsTag
public ErrorsTag()
-
-
メソッドの詳細
-
getErrorsVariableName
public java.lang.String getErrorsVariableName() -
setErrorsVariableName
public void setErrorsVariableName(java.lang.String errorsVariableName) -
getDelimiter
public java.lang.String getDelimiter() -
setDelimiter
public void setDelimiter(java.lang.String delimiter) -
getHeader
public java.lang.String getHeader() -
setHeader
public void setHeader(java.lang.String header) -
getFooter
public java.lang.String getFooter() -
setFooter
public void setFooter(java.lang.String footer) -
getErrors
public java.lang.Object getErrors() -
setErrors
public void setErrors(java.lang.Object errors) -
isHtmlEscape
public boolean isHtmlEscape() -
setHtmlEscape
public void setHtmlEscape(boolean htmlEscape) -
doStartTag
public int doStartTag() throws javax.servlet.jsp.JspException- 定義:
doStartTag
インタフェース内javax.servlet.jsp.tagext.Tag
- オーバーライド:
doStartTag
クラス内javax.servlet.jsp.tagext.BodyTagSupport
- 例外:
javax.servlet.jsp.JspException
-
doEndTag
public int doEndTag() throws javax.servlet.jsp.JspException- 定義:
doEndTag
インタフェース内javax.servlet.jsp.tagext.Tag
- オーバーライド:
doEndTag
クラス内javax.servlet.jsp.tagext.BodyTagSupport
- 例外:
javax.servlet.jsp.JspException
-
doCatch
public void doCatch(java.lang.Throwable t) throws java.lang.Throwable- 定義:
doCatch
インタフェース内javax.servlet.jsp.tagext.TryCatchFinally
- 例外:
java.lang.Throwable
-
doFinally
public void doFinally()- 定義:
doFinally
インタフェース内javax.servlet.jsp.tagext.TryCatchFinally
-