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('/hello') //read the provided form data public String display(@RequestParam('name') String name,@RequestParam('pass') String pass,Model m) { if(pass.equals('admin')) { String msg='Hello '+ name; //add a message to the model m.addAttribute('message', msg); return 'viewpage'; } else { String msg='Sorry '+ name+'. You entered an incorrect password'; m.addAttribute('message', msg); return 'errorpage'; } } }
4. 他のビューコンポーネントを作成する
この例を実行するには、次のビュー コンポーネントが WEB-INF/jsp ディレクトリ内に存在する必要があります。
viewpage.jsp
${message}
エラーページ.jsp
${message} <br> <br>
出力:
このサンプルをダウンロードします (Eclipse を使用して開発)