public class WebRequestDataBinder extends WebDataBinder
DataBinder。警告 : データバインディングは、外部クライアントによるアクセスや変更を目的としていないオブジェクトグラフの部分を公開することにより、セキュリティの課題を引き起こす可能性があります。データバインディングの設計と使用は、セキュリティに関して慎重に検討する必要があります。詳細については、リファレンスマニュアルの Spring Web MVC および Spring WebFlux のデータバインディングに関する専用セクションを参照してください。
許可 / 必須フィールドの指定、カスタムプロパティエディターの登録などのカスタマイズオプションについては、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_PREFIXDEFAULT_AUTO_GROW_COLLECTION_LIMIT, DEFAULT_OBJECT_NAME, logger| コンストラクターと説明 |
|---|
WebRequestDataBinder(ObjectSE target) デフォルトのオブジェクト名で、新しい WebRequestDataBinder インスタンスを作成します。 |
WebRequestDataBinder(ObjectSE target, StringSE objectName) 新しい WebRequestDataBinder インスタンスを作成します。 |
| 修飾子と型 | メソッドと説明 |
|---|---|
void | bind(WebRequest request) 指定されたリクエストのパラメーターをこのバインダーのターゲットにバインドし、マルチパートリクエストの場合はマルチパートファイルもバインドします。 |
void | closeNoCatch() エラーを致命的として扱います。 |
adaptEmptyArrayIndices, bindMultipart, checkFieldDefaults, checkFieldMarkers, doBind, getEmptyValue, getEmptyValue, getFieldDefaultPrefix, getFieldMarkerPrefix, isBindEmptyMultipartFiles, setBindEmptyMultipartFiles, setFieldDefaultPrefix, setFieldMarkerPrefixaddCustomFormatter, 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, validatecloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSEpublic WebRequestDataBinder(@Nullable ObjectSE target)
target - バインドするターゲットオブジェクト (または、バインダーが単なるパラメーター値の変換に使用される場合は null )DataBinder.DEFAULT_OBJECT_NAMEpublic void bind(WebRequest request)
この呼び出しにより、必須フィールド (コード「必須」) などの基本的なバインディングエラーや、値と Bean プロパティ (コード "typeMismatch" ) の型の不一致を表すフィールドエラーが発生する可能性があります。
マルチパートファイルは、通常の HTTP パラメーターと同様に、パラメーター名によってバインドされます。つまり、"uploadedFile" は "uploadedFile" Bean プロパティにバインドされ、"setUploadedFile" setter メソッドを呼び出します。
マルチパートファイルのターゲットプロパティの型は、MultipartFile、byte[]、または String です。サーブレットパーツバインディングは、リクエストが MultipartResolver を介して MultipartRequest に解析されていない場合にもサポートされます。
request - バインドするパラメーターを含むリクエスト (マルチパートにすることができます)MultipartRequest, MultipartFile, PartEE, DataBinder.bind(org.springframework.beans.PropertyValues)public void closeNoCatch()
throws BindExceptionこのメソッドは、入力が有効でない場合にエラーになる場合にのみ使用してください。これは、たとえばすべての入力がドロップダウンからのものである場合に適切です。
BindException - バインディングエラーが発生した場合