public class WebRequestDataBinder extends WebDataBinder
DataBinder
。許可 / 必須フィールドの指定、カスタムプロパティエディターの登録などのカスタマイズオプションについては、DataBinder/WebDataBinder スーパークラスを参照してください。
Spring の WebRequest
抽象化上に構築されたカスタム Web コントローラーやインターセプターの手動データバインディングにも使用できます (たとえば WebRequestInterceptor
の実装)。各バインディングプロセスのために WebRequestDataBinder をインスタンス化し、現在の WebRequest を引数として bind
を起動するだけです。
MyBean myBean = new MyBean(); // apply binder to custom target object WebRequestDataBinder binder = new WebRequestDataBinder(myBean); // register custom editors, if desired binder.registerCustomEditor(...); // trigger actual binding of request parameters binder.bind(request); // optionally evaluate binding errors Errors errors = binder.getErrors(); ...
bind(org.springframework.web.context.request.WebRequest)
, DataBinder.registerCustomEditor(java.lang.Class<?>, java.beans.PropertyEditor)
, DataBinder.setAllowedFields(java.lang.String...)
, DataBinder.setRequiredFields(java.lang.String...)
, WebDataBinder.setFieldMarkerPrefix(java.lang.String)
DEFAULT_FIELD_DEFAULT_PREFIX, DEFAULT_FIELD_MARKER_PREFIX
DEFAULT_AUTO_GROW_COLLECTION_LIMIT, DEFAULT_OBJECT_NAME, logger
コンストラクターと説明 |
---|
WebRequestDataBinder(ObjectSE target) デフォルトのオブジェクト名で、新しい WebRequestDataBinder インスタンスを作成します。 |
WebRequestDataBinder(ObjectSE target, StringSE objectName) 新しい WebRequestDataBinder インスタンスを作成します。 |
修飾子と型 | メソッドと説明 |
---|---|
void | bind(WebRequest request) 指定されたリクエストのパラメーターをこのバインダーのターゲットにバインドし、マルチパートリクエストの場合はマルチパートファイルもバインドします。 |
void | closeNoCatch() エラーを致命的として扱います。 |
bindMultipart, checkFieldDefaults, checkFieldMarkers, doBind, getEmptyValue, getEmptyValue, getFieldDefaultPrefix, getFieldMarkerPrefix, isBindEmptyMultipartFiles, setBindEmptyMultipartFiles, setFieldDefaultPrefix, setFieldMarkerPrefix
addCustomFormatter, addCustomFormatter, addCustomFormatter, addValidators, applyPropertyValues, bind, checkAllowedFields, checkRequiredFields, close, convertIfNecessary, convertIfNecessary, convertIfNecessary, convertIfNecessary, createBeanPropertyBindingResult, createDirectFieldBindingResult, findCustomEditor, getAllowedFields, getAutoGrowCollectionLimit, getBindingErrorProcessor, getBindingResult, getConversionService, getDisallowedFields, getInternalBindingResult, getObjectName, getPropertyAccessor, getPropertyEditorRegistry, getRequiredFields, getSimpleTypeConverter, getTarget, getTypeConverter, getValidator, getValidators, initBeanPropertyAccess, initDirectFieldAccess, isAllowed, isAutoGrowNestedPaths, isIgnoreInvalidFields, isIgnoreUnknownFields, registerCustomEditor, registerCustomEditor, replaceValidators, setAllowedFields, setAutoGrowCollectionLimit, setAutoGrowNestedPaths, setBindingErrorProcessor, setConversionService, setDisallowedFields, setIgnoreInvalidFields, setIgnoreUnknownFields, setMessageCodesResolver, setRequiredFields, setValidator, validate, validate
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public WebRequestDataBinder(@Nullable ObjectSE target)
target
- バインドするターゲットオブジェクト (または、バインダーが単なるパラメーター値の変換に使用される場合は null
)DataBinder.DEFAULT_OBJECT_NAME
public void bind(WebRequest request)
この呼び出しにより、必須フィールド (コード「必須」) などの基本的なバインディングエラーや、値と Bean プロパティ (コード "typeMismatch" ) の型の不一致を表すフィールドエラーが発生する可能性があります。
マルチパートファイルは、通常の HTTP パラメーターと同様に、パラメーター名によってバインドされます。つまり、"uploadedFile" は "uploadedFile" Bean プロパティにバインドされ、"setUploadedFile" setter メソッドを呼び出します。
マルチパートファイルのターゲットプロパティの型は、Part、MultipartFile、byte[]、または String です。後者の 2 つは、アップロードされたファイルのコンテンツを受け取ります。これらの場合、元のファイル名、コンテンツ型などのメタデータはすべて失われます。
request
- バインドするパラメーター付きのリクエスト (マルチパートにすることができます)MultipartRequest
, MultipartFile
, Part
EE, DataBinder.bind(org.springframework.beans.PropertyValues)
public void closeNoCatch() throws BindException
このメソッドは、入力が有効でない場合にエラーになる場合にのみ使用してください。これは、たとえばすべての入力がドロップダウンからのものである場合に適切です。
BindException
- バインディングエラーが発生した場合