public class BeanValidationStrategy extends java.lang.Object implements ValidationStrategy
本実装ではバリデーションエラーが発生した場合に、
リクエストパラメータから値をコピーしたオブジェクト(Bean)が、
リクエストスコープに格納する機能を持つ。
これは、バリデーションエラーが発生した時でも、JSP等でリクエストパラメータの値を
参照できるようにするためである。
本機能を有効化するにはsetCopyBeanToRequestScopeOnError(boolean)に真を設定すること。
| Constructor and Description |
|---|
BeanValidationStrategy()
BeanValidationStrategyを生成する。 |
| Modifier and Type | Method and Description |
|---|---|
void |
setCopyBeanToRequestScopeOnError(boolean copyBeanToRequestScopeOnError)
バリデーションエラー時に、Beanをリクエストスコープにコピーするかどうかを
設定する(デフォルトは「コピーしない」)。
|
void |
setFormFactory(BeanValidationFormFactory formFactory) |
protected static java.util.List<Message> |
sortMessages(java.util.List<Message> messages,
ServletExecutionContext context,
InjectForm injectForm)
メッセージをソートする。
|
java.io.Serializable |
validate(HttpRequest request,
InjectForm annotation,
boolean notUse,
ServletExecutionContext context)
リクエスト内容をバリデーションし、エラーがなければ、
InjectFormのform属性で指定された型のオブジェクトを生成して返す. |
@Published(tag="architect") public BeanValidationStrategy()
BeanValidationStrategyを生成する。public java.io.Serializable validate(HttpRequest request, InjectForm annotation, boolean notUse, ServletExecutionContext context)
ValidationStrategyInjectFormのvalidate in interface ValidationStrategyrequest - リクエストannotation - InjectFormアノテーションnotUse - バリデーションメソッドの指定がある場合truecontext - 実行コンテキスト@Published(tag="architect") protected static java.util.List<Message> sortMessages(java.util.List<Message> messages, ServletExecutionContext context, InjectForm injectForm)
ソートされる順序は、ServletRequest.getParameterNames()の順となる。
ServletRequest.getParameterNames()に存在しない項目は、メッセージリストの末尾に移動する。
messages - ソート対象のメッセージリストcontext - Servlet実行コンテキストinjectForm - InjectFormアノテーションpublic void setCopyBeanToRequestScopeOnError(boolean copyBeanToRequestScopeOnError)
copyBeanToRequestScopeOnError - コピーする場合は真を指定public void setFormFactory(BeanValidationFormFactory formFactory)