この記事では SpringMVC の型変換と検証メソッドを紹介します (コード付き)。必要な方は參考にしていただければ幸いです。
Spring mvc データ バインディング プロセス:
SpringMvc は、ServletRequest オブジェクトとターゲット メソッドの仮パラメータ インスタンスを WebDataBinderFactory インスタンスに渡して作成します。 DataBinder インスタンス オブジェクト。 DataBinder は、SpringMvc コンテキストに組み込まれた ConversionService コンポーネントを呼び出して型変換とデータの書式設(shè)定を?qū)g行し、サーブレットのリクエスト情報を仮パラメータ オブジェクトに埋めます。 Validator の主キーを呼び出して、リクエスト情報にバインドされた仮パラメータ オブジェクトの選択データの正當(dāng)性を検証し、最終的にデータ バインディング結(jié)果の BindingData オブジェクトを生成します。 SpringMVC は、BindingResult 內(nèi)の仮パラメータ オブジェクトと検証エラー オブジェクトを抽出し、それらを処理メソッドの対応するパラメータに代入します。
ソース コードから、WebDataBinderFactory を通じて DataBinder オブジェクトが作成されていることがわかります。
カスタム型コンバーター
特別な狀況に遭遇した場合、獨自の型コンバーターを定義する必要がある場合があります。次に、文字列を emp オブジェクトに変換するカスタム型コンバータについて説明します。ページがデータ バインディングまたは型変換を完了できない場合、BindingResult を使用して例外情報を取得できます。
Spring では 3 種類のコンバータ インターフェイスが定義されており、それを?qū)g裝するコンバータ インターフェイスはカスタム コンバータとして ConversionServiceFactoryBean に登録できます。
Convertre: S タイプを T タイプに変換します。
ConverterFactory: 同じシリーズの複數(shù)の「同種の」コンバーターを一緒にカプセル化します。ある型を別の型およびサブクラス オブジェクト (文字列から數(shù)値、數(shù)値のサブクラスへなど) に変換する場合は、このコンバーターを使用できます。
##GenericConverter: 型変換は、ソース クラス オブジェクトとターゲット クラス オブジェクトが配置されているホスト クラスのコンテキスト情報に基づいて選択されます。package com.spring.mvc.controller; import org.springframework.core.convert.converter.Converter; import org.springframework.stereotype.Component; @Component public class UserConverter implements Converter<String, User>{ @Override public User convert(String source) { System.out.println(source); String users [] = source.split("-"); User user = new User(); user.setUno(Integer.valueOf(users[0])); user.setUsername(users[1]); user.setUserpass(users[2]); return user; } }ConversionService は、SpringMVC の型コンバーターのコア インターフェイスです。カスタム型コンバーターを追加するには、このインターフェイスを?qū)g裝するか、ConversionServiceFactoryBean を使用して Spring の IOC コンテナーに最初の ConversionService を作成し、Bean で構(gòu)成する必要があります。型コンバーターの実裝クラスの場合、SpringMvc がメソッドの仮パラメーター バインディングを処理するときに、型コンバーターが自動的に呼び出されます。
<!--將非mapping配置下的請求交給默認(rèn)的Servlet來處理 --> <mvc:default-servlet-handler /> <bean id="conversionService" class="org.springframework.context.support.ConversionServiceFactoryBean"> <property name="converters"> <set> <ref bean="userConverter" /> </set> </property> </bean> <!-- 注冊類型轉(zhuǎn)換器 --> <mvc:annotation-driven conversion-service="conversionService" />実際の開発では、次の設(shè)定を行う必要があります:
<mvc:annotation-driven conversion-service="FormattingConversionServiceFactoryBean" />
JSR303
jsr303 は、Bean データの有効性を検証するために Java が提供する標(biāo)準(zhǔn)フレームワークで、JavaEE6.0 および JSR303 に既に組み込まれています。 Bean プロパティに @NotNull や @Max などの標(biāo)準(zhǔn)データをマークして検証ルールを指定し、マークされた検証インターフェイスを通じて Bean を検証します。@NotEmpty @NotNull private String name; @NotNull @NotEmpty private String age; @NotNull @NotEmpty @Email private String email;
フロント デスクで SpringMVC によって提供される Form タグを使用し、Form: エラー パスを使用して屬性をバインドします
@RequestMapping(value="/student",method=RequestMethod.POST) public String add(@Valid()Student student,BindingResult result){ if (!result.hasErrors()) {//判斷是否有格式轉(zhuǎn)換錯誤或者其他校驗沒通過 userService.addStudent(student); return "redirect:list"; }else return "addPage"; }
SpringMvc プロンプト メッセージの國際化
<!-- 注冊國際化信息,必須有id,指定資源文件名稱,資源文件在src目錄下 --> <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource"> <property name="basename" value="message"></property> </bean>
以上がSpringMVCの型変換と検証方法の紹介(コード付き)の詳細(xì)內(nèi)容です。詳細(xì)については、PHP 中國語 Web サイトの他の関連記事を參照してください。

ホットAIツール

Undress AI Tool
脫衣畫像を無料で

Undresser.AI Undress
リアルなヌード寫真を作成する AI 搭載アプリ

AI Clothes Remover
寫真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中國語版
中國語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統(tǒng)合開発環(huán)境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

SpringBoot と SpringMVC はどちらも Java 開発で一般的に使用されるフレームワークですが、それらの間には明らかな違いがいくつかあります。この記事では、これら 2 つのフレームワークの機能と使用法を調(diào)べ、その違いを比較します。まず、SpringBoot について學(xué)びましょう。 SpringBoot は、Spring フレームワークに基づいたアプリケーションの作成と展開を簡素化するために、Pivo??tal チームによって開発されました。スタンドアロンの実行可能ファイルを構(gòu)築するための高速かつ軽量な方法を提供します。

SpringBoot と SpringMVC の違いは何ですか? SpringBoot と SpringMVC は、Web アプリケーションを構(gòu)築するための 2 つの非常に人気のある Java 開発フレームワークです。これらは別々に使用されることが多いですが、両者の違いは明らかです。まず、SpringBoot は Spring フレームワークの拡張版または強化版とみなすことができます。 Spring アプリケーションの初期化と構(gòu)成プロセスを簡素化し、開発者を支援するように設(shè)計されています。

spring と springmvc の違い: 1. 位置付けと機能、2. コア機能、3. アプリケーション領(lǐng)域、4. 拡張性。詳細(xì)な紹介: 1. 位置付けと機能 Spring は、依存関係の注入、アスペクト指向プログラミング、トランザクション管理などの機能を提供する包括的なアプリケーション開発フレームワークであり、エンタープライズ レベルのアプリケーションの開発を簡素化するように設(shè)計されており、Spring MVC はそのSpring フレームワーク。そのモジュールは Web アプリケーションの開発に使用され、MVC パターンを?qū)g裝します。2. コア機能など。

SpringBootとSpringMVCはJava開発でよく使われるフレームワークで、どちらもSpringフレームワークで提供されていますが、機能や使用方法にいくつかの違いがあります。この記事では、SpringBootとSpringMVCそれぞれの特徴と違いを紹介します。 1. SpringBoot の特徴: 構(gòu)成の簡素化: SpringBoot は、構(gòu)成より規(guī)約の原則により、プロジェクトの構(gòu)成プロセスを大幅に簡素化します。プロジェクトや開発者に必要なパラメータを自動的に設(shè)定できます。

springboot と springmvc の違いは、1. 意味の違い、2. 構(gòu)成の違い、3. 依存関係の違い、4. 開発時間の違い、5. 生産性の違い、6. JAR パッケージ化機能の実裝方法の違い、7. バッチ処理の有無です。提供される機能、8. さまざまな機能、9. さまざまなコミュニティおよびドキュメントのサポート、10. デプロイメント記述子が必要かどうか。

インターセプタの役割 SpringMVC のインターセプタは、サーブレット開発におけるフィルタに似ており、プロセッサの前処理と後処理に使用されます。インターセプタが一定の順序でチェーン狀に接続されており、このチェーンをインターセプタチェーン(InterceptorChain)と呼びます。インターセプトされたメソッドまたはフィールドにアクセスすると、インターセプター チェーン內(nèi)のインターセプターが、以前に定義された順序で呼び出されます。インターセプターは、AOP のアイデアを具體的に実裝したものでもあります。インターセプターとフィルターの違い: フィルター (フィルター) インターセプター (インターセプター) の使用範(fàn)囲はサーブレット仕様の一部であり、任意の JavaWeb プロジェクトで使用できます。

SpringBoot と SpringMVC の類似點と相違點の分析 SpringBoot と SpringMVC は、Java 分野では非常に重要な開発フレームワークです。どちらも Spring フレームワークの一部ですが、使用方法と機能には明らかな違いがいくつかあります。この記事では、SpringBoot と SpringMVC を比較し、それらの類似點と相違點を分析します。まず、SpringBoot について學(xué)びましょう。スプリングボー

インターネットの発展に伴い、Web サービスはますます一般的になってきています。アプリケーション プログラミング インターフェイスとして、JavaAPI はさまざまなアプリケーション シナリオに適応するために新しいバージョンを常にリリースしています。 SpringMVC は、人気のあるオープンソース フレームワークとして、Web アプリケーションを簡単に構(gòu)築するのに役立ちます。この記事では、SpringMVC の設(shè)定、コントローラーの作成、使用方法など、JavaAPI 開発における Web サービス処理に SpringMVC を使用する方法を詳しく説明します。
