クラス WebRequestDataBinder
- 実装されているすべてのインターフェース:
- PropertyEditorRegistry,- TypeConverter
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(); ...
- 導入:
- 2.5.2
- 作成者:
- Juergen Hoeller, Brian Clozel
- 関連事項:
- ネストされたクラスの要約- クラス org.springframework.validation.DataBinder から継承されたネストクラス / インターフェース- DataBinder.NameResolver, DataBinder.ValueResolver
- フィールドのサマリー- クラス org.springframework.web.bind.WebDataBinder から継承されたフィールド- DEFAULT_FIELD_DEFAULT_PREFIX, DEFAULT_FIELD_MARKER_PREFIX- クラス org.springframework.validation.DataBinder から継承されたフィールド- DEFAULT_AUTO_GROW_COLLECTION_LIMIT, DEFAULT_OBJECT_NAME, logger
- コンストラクターの概要コンストラクターコンストラクター説明- WebRequestDataBinder- (ObjectSE target) デフォルトのオブジェクト名で、新しい WebRequestDataBinder インスタンスを作成します。- WebRequestDataBinder- (ObjectSE target, StringSE objectName) 新しい WebRequestDataBinder インスタンスを作成します。
- メソッドのサマリー修飾子と型メソッド説明- void- bind- (WebRequest request) 指定されたリクエストのパラメーターをこのバインダーのターゲットにバインドし、マルチパートリクエストの場合はマルチパートファイルもバインドします。- voidエラーを致命的として扱います。- void- construct- (WebRequest request) デフォルトまたは単一のデータコンストラクターを使用して、リクエストパラメーター、マルチパートファイル、またはパーツをコンストラクター引数にバインドすることでターゲットを作成します。- protected boolean指定された型のコンストラクター引数をインスタンス化して、独自のコンストラクター引数をバインド値に照合するかどうか。- クラス org.springframework.web.bind.WebDataBinder から継承されたメソッド- adaptEmptyArrayIndices, bindMultipart, checkFieldDefaults, checkFieldMarkers, doBind, getEmptyValue, getEmptyValue, getFieldDefaultPrefix, getFieldMarkerPrefix, isBindEmptyMultipartFiles, resolvePrefixValue, setBindEmptyMultipartFiles, setFieldDefaultPrefix, setFieldMarkerPrefix- クラス org.springframework.validation.DataBinder から継承されたメソッド- addCustomFormatter, addCustomFormatter, addCustomFormatter, addValidators, applyPropertyValues, bind, checkAllowedFields, checkRequiredFields, close, construct, convertIfNecessary, convertIfNecessary, convertIfNecessary, convertIfNecessary, createBeanPropertyBindingResult, createDirectFieldBindingResult, findCustomEditor, getAllowedFields, getAutoGrowCollectionLimit, getBindingErrorProcessor, getBindingResult, getConversionService, getDisallowedFields, getInternalBindingResult, getNameResolver, getObjectName, getPropertyAccessor, getPropertyEditorRegistry, getRequiredFields, getSimpleTypeConverter, getTarget, getTargetType, getTypeConverter, getValidator, getValidators, getValidatorsToApply, initBeanPropertyAccess, initDirectFieldAccess, isAllowed, isAutoGrowNestedPaths, isDeclarativeBinding, isIgnoreInvalidFields, isIgnoreUnknownFields, registerCustomEditor, registerCustomEditor, replaceValidators, setAllowedFields, setAutoGrowCollectionLimit, setAutoGrowNestedPaths, setBindingErrorProcessor, setConversionService, setDeclarativeBinding, setDisallowedFields, setExcludedValidators, setIgnoreInvalidFields, setIgnoreUnknownFields, setMessageCodesResolver, setNameResolver, setRequiredFields, setTargetType, setValidator, shouldNotBindPropertyValues, validate, validate
- コンストラクターの詳細- WebRequestDataBinderデフォルトのオブジェクト名で、新しい WebRequestDataBinder インスタンスを作成します。- パラメーター:
- target- バインドするターゲットオブジェクト (または、バインダーが単なるパラメーター値の変換に使用される場合は- null)
- 関連事項:
 
- WebRequestDataBinder新しい WebRequestDataBinder インスタンスを作成します。- パラメーター:
- target- バインドするターゲットオブジェクト (または、バインダーが単なるパラメーター値の変換に使用される場合は- null)
- objectName- ターゲットオブジェクトの名前
 
 
- メソッドの詳細- constructデフォルトまたは単一のデータコンストラクターを使用して、リクエストパラメーター、マルチパートファイル、またはパーツをコンストラクター引数にバインドすることでターゲットを作成します。- 呼び出し後、 - DataBinder.getBindingResult()を使用してバインドエラーをチェックします。何もない場合、ターゲットが設定され、setter を介してさらなる初期化のために- bind(WebRequest)を呼び出すことができます。- パラメーター:
- request- バインドのリクエスト
- 導入:
- 6.1
 
- shouldConstructArgumentクラスからコピーされた説明:- DataBinder指定された型のコンストラクター引数をインスタンス化して、独自のコンストラクター引数をバインド値に照合するかどうか。- デフォルトでは、単純な値型、マップ、コレクション、配列は、ネストされたコンストラクターバインディングの初期化から除外されます。 - オーバーライド:
-  クラス DataBinderのshouldConstructArgument
 
- bind指定されたリクエストのパラメーターをこのバインダーのターゲットにバインドし、マルチパートリクエストの場合はマルチパートファイルもバインドします。- この呼び出しにより、必須フィールド (コード「必須」) などの基本的なバインディングエラーや、値と Bean プロパティ (コード "typeMismatch" ) の型の不一致を表すフィールドエラーが発生する可能性があります。 - マルチパートファイルは、通常の HTTP パラメーターと同様に、パラメーター名によってバインドされます。つまり、"uploadedFile" は "uploadedFile" Bean プロパティにバインドされ、"setUploadedFile" setter メソッドを呼び出します。 - マルチパートファイルのターゲットプロパティの型は、MultipartFile、byte[]、または String です。サーブレットパーツバインディングは、リクエストが MultipartResolver を介して MultipartRequest に解析されていない場合にもサポートされます。 - パラメーター:
- request- バインドするパラメーターを含むリクエスト (マルチパートにすることができます)
- 関連事項:
 
- closeNoCatchエラーを致命的として扱います。- このメソッドは、入力が有効でない場合にエラーになる場合にのみ使用してください。これは、たとえばすべての入力がドロップダウンからのものである場合に適切です。 - 例外:
- BindException- バインディングエラーが発生した場合