クラス ErrorsTag
java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
jakarta.servlet.jsp.tagext.BodyTagSupport
org.iplass.mtp.web.template.tags.ErrorsTag
- すべての実装されたインタフェース:
jakarta.servlet.jsp.tagext.BodyTag
,jakarta.servlet.jsp.tagext.IterationTag
,jakarta.servlet.jsp.tagext.JspTag
,jakarta.servlet.jsp.tagext.Tag
,jakarta.servlet.jsp.tagext.TryCatchFinally
,Serializable
public class ErrorsTag
extends jakarta.servlet.jsp.tagext.BodyTagSupport
implements jakarta.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の設定は利用されません。
- 関連項目:
-
フィールドの概要
フィールドクラスから継承されたフィールド jakarta.servlet.jsp.tagext.BodyTagSupport
bodyContent
クラスから継承されたフィールド jakarta.servlet.jsp.tagext.TagSupport
id, pageContext
インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.BodyTag
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAIN
インタフェースから継承されたフィールド jakarta.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
-
コンストラクタの概要
コンストラクタ -
メソッドの概要
修飾子とタイプメソッド説明void
int
doEndTag()
void
int
boolean
void
setDelimiter
(String delimiter) void
void
setErrorsVariableName
(String errorsVariableName) void
void
void
setHtmlEscape
(boolean htmlEscape) クラスから継承されたメソッド jakarta.servlet.jsp.tagext.BodyTagSupport
doAfterBody, doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
クラスから継承されたメソッド jakarta.servlet.jsp.tagext.TagSupport
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
クラスから継承されたメソッド java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
インタフェースから継承されたメソッド jakarta.servlet.jsp.tagext.Tag
getParent, setPageContext, setParent
-
フィールド詳細
-
DEFAULT_ERROR_VARIABLE_NAME
- 関連項目:
-
DEFAULT_DELIMITER
- 関連項目:
-
DEFAULT_HEADER
- 関連項目:
-
DEFAULT_FOOTER
- 関連項目:
-
-
コンストラクタの詳細
-
ErrorsTag
public ErrorsTag()
-
-
メソッドの詳細
-
getErrorsVariableName
-
setErrorsVariableName
-
getDelimiter
-
setDelimiter
-
getHeader
-
setHeader
-
getErrors
-
setErrors
-
isHtmlEscape
public boolean isHtmlEscape() -
setHtmlEscape
public void setHtmlEscape(boolean htmlEscape) -
doStartTag
public int doStartTag() throws jakarta.servlet.jsp.JspException- 定義:
doStartTag
インタフェース内jakarta.servlet.jsp.tagext.Tag
- オーバーライド:
doStartTag
クラス内jakarta.servlet.jsp.tagext.BodyTagSupport
- 例外:
jakarta.servlet.jsp.JspException
-
doEndTag
public int doEndTag() throws jakarta.servlet.jsp.JspException- 定義:
doEndTag
インタフェース内jakarta.servlet.jsp.tagext.Tag
- オーバーライド:
doEndTag
クラス内jakarta.servlet.jsp.tagext.BodyTagSupport
- 例外:
jakarta.servlet.jsp.JspException
-
doCatch
- 定義:
doCatch
インタフェース内jakarta.servlet.jsp.tagext.TryCatchFinally
- 例外:
Throwable
-
doFinally
public void doFinally()- 定義:
doFinally
インタフェース内jakarta.servlet.jsp.tagext.TryCatchFinally
-