#なぜ今回質問したのか
プログラムのコントロール制御ができなく原因が不明なため
#ご質問
Spring Tool Suite 4 にて開発をしております。
以下のように画面遷移するプログラムを作成しています。
##index.html→home.html→edit.html→home.html
#最終的にしたいこと
上記の画面遷移し最終的にHomeServletの中のhomeメソッドの中の処理に入ることです。
ブレークポイントは以下で設定しています。
index.htmlから遷移すると以下のブレークポイントに止まりますが、
edit.htmlから遷移するとhome.htmlに遷移するだけで以下のブレークポイントに止まりません。
・HomeServlet.javaの中のブレークポイント設定行
mav.setViewName("home");
##試したこと
下記の簡単なソースコードを作成し、動かしていますが予想と違った動きをします。
すべてのソースコードを下記に記述します。
#ソースコード
index.html <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title> index </title> </head> <br> <body> INDEXページです <form th:action="@{/home}" method="POST"> <p align="center"> <td align="center"> <input type="submit" value="HOME"> </td> </p> </form> </body> </html>
home.html <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title> home </title> </head> <br> <body> HOMEページです <form th:action="@{/edit}" method="POST"> <p align="center"> <td align="center"> <input type="submit" name="paramedit" value="EDIT"> </td> </p> </form> </body> </html>
edit.html <!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml" xmlns:th="http://www.thymeleaf.org"> <head> <meta charset="UTF-8"> <title> edit </title> </head> <br> <body> EDITページです <form th:action="@{/home}" method="POST"> <p align="center"> <td align="center"> <input type="submit" name="paramhome" value="HOME"> </td> </p> </form> </body> </html>
IndexServlet.java package com.example.demo; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.GetMapping; @Controller public class IndexServlet { @GetMapping("index") public String index() { return "index"; } }
HomeServletjava package com.example.demo; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; @Controller public class HomeServlet { @RequestMapping(path = "home", method = RequestMethod.POST) @ResponseBody public ModelAndView home(ModelAndView mav) { //★ブレークポイント mav.setViewName("home"); return mav; } }
EditServlet.java package com.example.demo; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.ResponseBody; import org.springframework.web.servlet.ModelAndView; @Controller public class EditServlet { @RequestMapping(path = "edit", params = "paramedit", method = RequestMethod.POST) @ResponseBody public ModelAndView edit(ModelAndView mav) { mav.setViewName("edit"); return mav; } @RequestMapping(path = "home", params = "paramhome", method = RequestMethod.POST) @ResponseBody public ModelAndView home(ModelAndView mav) { mav.setViewName("home"); return mav; } }
##環境
・OS WIN10
・フレームワーク:Spring Tool Suite4
回答1件
あなたの回答
tips
プレビュー