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 String
static final String
static final String
static final String
Fields inherited from class jakarta.servlet.jsp.tagext.BodyTagSupport
bodyContent
Fields inherited from class jakarta.servlet.jsp.tagext.TagSupport
id, pageContext
Fields inherited from interface jakarta.servlet.jsp.tagext.BodyTag
EVAL_BODY_BUFFERED, EVAL_BODY_TAG
Fields inherited from interface jakarta.servlet.jsp.tagext.IterationTag
EVAL_BODY_AGAIN
Fields inherited from interface jakarta.servlet.jsp.tagext.Tag
EVAL_BODY_INCLUDE, EVAL_PAGE, SKIP_BODY, SKIP_PAGE
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
int
doEndTag()
void
int
boolean
void
setDelimiter
(String delimiter) void
void
setErrorsVariableName
(String errorsVariableName) void
void
void
setHtmlEscape
(boolean htmlEscape) Methods inherited from class jakarta.servlet.jsp.tagext.BodyTagSupport
doAfterBody, doInitBody, getBodyContent, getPreviousOut, release, setBodyContent
Methods inherited from class jakarta.servlet.jsp.tagext.TagSupport
findAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValue
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods 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:
doStartTag
in interfacejakarta.servlet.jsp.tagext.Tag
- Overrides:
doStartTag
in classjakarta.servlet.jsp.tagext.BodyTagSupport
- Throws:
jakarta.servlet.jsp.JspException
-
doEndTag
public int doEndTag() throws jakarta.servlet.jsp.JspException- Specified by:
doEndTag
in interfacejakarta.servlet.jsp.tagext.Tag
- Overrides:
doEndTag
in classjakarta.servlet.jsp.tagext.BodyTagSupport
- Throws:
jakarta.servlet.jsp.JspException
-
doCatch
- Specified by:
doCatch
in interfacejakarta.servlet.jsp.tagext.TryCatchFinally
- Throws:
Throwable
-
doFinally
public void doFinally()- Specified by:
doFinally
in interfacejakarta.servlet.jsp.tagext.TryCatchFinally
-