Package org.iplass.mtp.web.template.tags
Class ErrorsTag
java.lang.Object
jakarta.servlet.jsp.tagext.TagSupport
jakarta.servlet.jsp.tagext.BodyTagSupport
org.iplass.mtp.web.template.tags.ErrorsTag
- All Implemented Interfaces:
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の設定は利用されません。
- See Also:
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final Stringstatic final Stringstatic final Stringstatic final StringFields inherited from class jakarta.servlet.jsp.tagext.BodyTagSupport
bodyContentFields inherited from class jakarta.servlet.jsp.tagext.TagSupport
id, pageContextFields inherited from interface jakarta.servlet.jsp.tagext.BodyTag
EVAL_BODY_BUFFERED, EVAL_BODY_TAGFields inherited from interface jakarta.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAINFields inherited from interface jakarta.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidintdoEndTag()voidintbooleanvoidsetDelimiter(String delimiter) voidvoidsetErrorsVariableName(String errorsVariableName) voidvoidvoidsetHtmlEscape(boolean htmlEscape) Methods inherited from class jakarta.servlet.jsp.tagext.BodyTagSupport
doAfterBody, doInitBody, getBodyContent, getPreviousOut, release, setBodyContentMethods inherited from class jakarta.servlet.jsp.tagext.TagSupport
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValueMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface jakarta.servlet.jsp.tagext.Tag
getParent, setPageContext, setParent
-
Field Details
-
DEFAULT_ERROR_VARIABLE_NAME
- See Also:
-
DEFAULT_DELIMITER
- See Also:
-
DEFAULT_HEADER
- See Also:
-
DEFAULT_FOOTER
- See Also:
-
-
Constructor Details
-
ErrorsTag
public ErrorsTag()
-
-
Method Details
-
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- Specified by:
doStartTagin interfacejakarta.servlet.jsp.tagext.Tag- Overrides:
doStartTagin classjakarta.servlet.jsp.tagext.BodyTagSupport- Throws:
jakarta.servlet.jsp.JspException
-
doEndTag
public int doEndTag() throws jakarta.servlet.jsp.JspException- Specified by:
doEndTagin interfacejakarta.servlet.jsp.tagext.Tag- Overrides:
doEndTagin classjakarta.servlet.jsp.tagext.BodyTagSupport- Throws:
jakarta.servlet.jsp.JspException
-
doCatch
- Specified by:
doCatchin interfacejakarta.servlet.jsp.tagext.TryCatchFinally- Throws:
Throwable
-
doFinally
public void doFinally()- Specified by:
doFinallyin interfacejakarta.servlet.jsp.tagext.TryCatchFinally
-