public class ErrorsTag
extends javax.servlet.jsp.tagext.BodyTagSupport
implements javax.servlet.jsp.tagext.TryCatchFinally
エラーが存在する場合、エラー内容をフォーマットしてhtml出力するJSPタグです。
ErrorsTagが記述される場所、設定される属性値により、出力される内容が異なります。
<% @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>
<% @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>
WebRequestConstants.EXCEPTIONをキーに例外を取得しメッセージ出力します。
当該ExceptionがMappingExceptionの場合、その例外に保持されるMappingResultのメッセージを出力します。ApplicationExceptionの場合、その例外のメッセージを出力します。
| 属性名 | 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) |
doAfterBody, doInitBody, getBodyContent, getPreviousOut, release, setBodyContentfindAncestorWithClass, getId, getParent, getValue, getValues, removeValue, setId, setPageContext, setParent, setValuepublic static final java.lang.String DEFAULT_ERROR_VARIABLE_NAME
public static final java.lang.String DEFAULT_DELIMITER
public static final java.lang.String DEFAULT_HEADER
public static final java.lang.String DEFAULT_FOOTER
public java.lang.String getErrorsVariableName()
public void setErrorsVariableName(java.lang.String errorsVariableName)
public java.lang.String getDelimiter()
public void setDelimiter(java.lang.String delimiter)
public java.lang.String getHeader()
public void setHeader(java.lang.String header)
public java.lang.String getFooter()
public void setFooter(java.lang.String footer)
public java.lang.Object getErrors()
public void setErrors(java.lang.Object errors)
public boolean isHtmlEscape()
public void setHtmlEscape(boolean htmlEscape)
public int doStartTag()
throws javax.servlet.jsp.JspException
doStartTag インタフェース内 javax.servlet.jsp.tagext.TagdoStartTag クラス内 javax.servlet.jsp.tagext.BodyTagSupportjavax.servlet.jsp.JspExceptionpublic int doEndTag()
throws javax.servlet.jsp.JspException
doEndTag インタフェース内 javax.servlet.jsp.tagext.TagdoEndTag クラス内 javax.servlet.jsp.tagext.BodyTagSupportjavax.servlet.jsp.JspExceptionpublic void doCatch(java.lang.Throwable t)
throws java.lang.Throwable
doCatch インタフェース内 javax.servlet.jsp.tagext.TryCatchFinallyjava.lang.Throwablepublic void doFinally()
doFinally インタフェース内 javax.servlet.jsp.tagext.TryCatchFinally