SpringBootのコントローラクラスの@PostMappingが動きません

実現したいこと

コントローラクラスの@PostMappingが効くようにしたいです。よろしくお願いします。

前提

eclipseでSpringBootの学習をしています。
hello.htmlというファイルのformタグと@PostMappinとで値を受け取って、response.htmlというページに遷移するという練習をしています。
@PostMappinとで値を受け取って、ページ遷移させる@PostMappingのメソッドが全く動きません。
(コンソールに、@PostMappingSystem.out.println("受け取ったよ");が出てきていないことからそう判断いたしました)

エラーはなく、formタグに入力して送信しても元のページにリロードされるという動作になってしまっています。

フォルダ階層

form送信後の画面
form送信後の画面

該当のソースコード

HelloController.java

java

1package com.example.hello;2 3import org.springframework.stereotype.Controller;4import org.springframework.ui.Model;5import org.springframework.web.bind.annotation.PostMapping;6import org.springframework.web.bind.annotation.RequestMapping;7import org.springframework.web.bind.annotation.RequestParam;8 9@Controller // アノテーションを使って、Controllerクラスであることを宣言10public class HelloController {11 12 @RequestMapping(value="/hello") // 「/index」にリクエストが来たときに呼び出されるメソッドを作成13 public String getHello() {14 return "hello";15 }16 17 @PostMapping("/hello")18 public String postRequest(@RequestParam(name="text1") String str,Model m) {19 20 m.addAttribute("sample",str);21 System.out.println("受け取ったよ");22 return "hello/response";23 }24 25}26

hello.html

html

1<html>2<head>3<meta charset="UTF-8">4<title>EclipseでSpring Bootの開発環境を構築!!</title>5</head>6<body>7 <h1>Hello, Spring Boot!!</h1>8 <form>9 入力:<input type="text" name="text1">10 <input type="submit" value="送信">11 </form>12</body>13</html>

response.html

html

1<!DOCTYPE html>2<html xmlns:th="http://www.thymeleaf.org">3<head>4<meta charset="UTF-8">5<title>responsesample</title>6</head>7<body>8 <h1>helloresponse</h1>9 <p th:text="${sample}"></p>10</body>11</html>

補足情報(FW/ツールのバージョンなど)

javaバージョン17
Spring Bootバージョン 3.2.5

試したこと

Spring Bootバージョン 3.X以上はjava21推奨しているとの情報をネットで得たので、javaバージョン21にて別のプロジェクトを作って同じことをやって試しましたがそれでも@PostMappingが動きませんでした

コメントを投稿

0 コメント