logo

Spring MVC RequestParam アノテーション

Spring MVC では、 @RequestParam 注釈は、フォーム データを読み取り、提供されたメソッドに存在するパラメーターに自動的にバインドするために使用されます。したがって、次の要件を無視します。 HttpServletRequest 提供されたデータを読み取るオブジェクト。

フォーム データを含めて、リクエスト パラメータもクエリ パラメータとマルチパート リクエストのパーツにマップされます。メソッド パラメーターのタイプが Map で、リクエスト パラメーター名が指定されている場合、リクエスト パラメーターの値は Map に変換されます。それ以外の場合、マップ パラメーターにはすべてのリクエスト パラメーターの名前と値が設定されます。


Spring MVC RequestParam の例

ユーザー名とパスワードを含むログイン ページを作成しましょう。ここでは、パスワードを特定の値で検証します。

1. pom.xml に依存関係を追加します。

 org.springframework spring-webmvc 5.1.1.RELEASE javax.servlet servlet-api 3.0-alpha-1 

2. リクエストページを作成する

ユーザーから名前とパスワードを受け取るログインページです。

インデックス.jsp

 UserName : <br> <br> Password : <br> <br> 

3. コントローラークラスの作成

コントローラークラス内:

  • @RequestParam は、ユーザーが提供した HTML フォーム データを読み取り、それをリクエスト パラメーターにバインドするために使用されます。
  • モデルにはリクエスト データが含まれており、それを表示ページに提供します。

HelloController.java

 package com.javatpoint; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; @Controller public class HelloController { @RequestMapping(&apos;/hello&apos;) //read the provided form data public String display(@RequestParam(&apos;name&apos;) String name,@RequestParam(&apos;pass&apos;) String pass,Model m) { if(pass.equals(&apos;admin&apos;)) { String msg=&apos;Hello &apos;+ name; //add a message to the model m.addAttribute(&apos;message&apos;, msg); return &apos;viewpage&apos;; } else { String msg=&apos;Sorry &apos;+ name+&apos;. You entered an incorrect password&apos;; m.addAttribute(&apos;message&apos;, msg); return &apos;errorpage&apos;; } } } 

4. 他のビューコンポーネントを作成する

この例を実行するには、次のビュー コンポーネントが WEB-INF/jsp ディレクトリ内に存在する必要があります。

viewpage.jsp

 ${message} 

エラーページ.jsp

 ${message} <br> <br> 

出力:

Spring MVC RequestParam アノテーション
Spring MVC RequestParam アノテーション
Spring MVC RequestParam アノテーション
Spring MVC RequestParam アノテーション
Spring MVC RequestParam アノテーション
このサンプルをダウンロードします (Eclipse を使用して開発)