「SpringBoot」アノテーションPostMappingでフォームの値を別画面に渡す
環境
Windows10 64bit
Spring Boot 2.6.3
Spring Tool Suite 4
JDK 11
thymeleaf 3
アノテーション PostMapping
public @interface PostMapping
HTTP POST リクエストを特定のハンドラーメソッドにマッピングするためのアノテーション。
具体的には、@PostMapping は @RequestMapping(method = RequestMethod.POST) の
ショートカットとして機能する合成アノテーションです。
操作方法
1.pom.xmlに以下の依存関係ライブラリが必要です
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
2.ユーザー登録画面(値を送信する側index.html)
書式
th:action ="@{/フォーム名}"
サンプルコード
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="utf-8" /> <title>登録画面(値を送信する側)</title> </head> <body> <!--actionで送信先を指定 methodでpost方式を指定 --> <form method="post" th:action="@{/memform}"> 名前:<input type="text" name="username" /> <input type="submit" value="送信" /> </form> </body> </html>
3.コントローラのクラス(MemberController.java)
package com.example.demo; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestParam; @Controller public class MemberController { //memberフォルダは配下のindex.htmlを画面に表示 @GetMapping("/member") public String input1() { return "member/index"; } //@RequestParamでリクエストパラメータを受け取る @PostMapping("/memform") public String confirm(@RequestParam String username, Model model) { //index.htmlのテキストボックスのusername変数 model.addAttribute("username", username); //addAttributeメソッドでキーに"addr"で値を設定します model.addAttribute("addr", "東京新宿区"); return "member/userform"; } }
4.確認画面(値を受け取る)
ファイル名:src\main\resources\templates\member\userform.html
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="utf-8" /> <title>ユーザー登録確認画面(値を受け取る側)</title> </head> <body> 名前: <p th:text="${username}"></p> 住所: <p>[[${addr}]]</p> </body> </html>
5.実行確認
プロジェクトを右クリックして、「実行(R)」->「Spring Boot アノテーション」をクリックします
ブラウザに以下のURLを入力するとindex.htmlが画面に表示されます。
http://127.0.0.1:8080/member