質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.35%
Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

Q&A

解決済

1回答

943閲覧

Spring Tool Suite 4で作成しているプログラムのコントロール制御について

hito2718

総合スコア0

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Spring Boot

Spring Bootは、Javaのフレームワークの一つ。Springプロジェクトが提供する様々なフレームワークを統合した、アプリケーションを高速で開発するために設計されたフレームワークです。

0グッド

0クリップ

投稿2021/05/22 01:32

編集2021/05/22 23:39

#なぜ今回質問したのか
プログラムのコントロール制御ができなく原因が不明なため

#ご質問
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

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

m.ts10806

2021/05/22 01:52

STSはあくまでSpringで開発するためのツールであってそれ自体が画面遷移したりフレームワークではありません。
m.ts10806

2021/05/22 02:08

あと一通りコード提示されないと何とも言えないのでは。
m.ts10806

2021/05/22 02:14

>デバッグすると デバッグの手法も記載してください。
hito2718

2021/05/22 23:40

返信遅くなってすみません。 アドバイスありがとうございます。 解決のアドバイスを頂けるようにもう一度考えて修正しました。
guest

回答1

0

自己解決

遷移したいメソッドの指定を、以下のようにしたら制御を移動できました。
return "forward:遷移先メソッド"

ありがとうございました。

投稿2021/05/23 02:42

hito2718

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.35%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問