1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

SpringBootにおけるコントローラからの画面遷移(超基本)

Posted at

概要

表題の件について、基本がわかっていなかったので、まとめてみました。

前提条件

コントローラのクラスに@Requestmapping("/home")を設定、doGet()メソッドに@Getmapping("/foo")を設定している場合に、return "記述部分";の記述部分に何を書くかという前提条件です。

パスのみ記述した場合

例えば、home/fooと記述した場合、それをビュー名として解釈し、ビューリゾルバによって適切なビュー(Thymeleafであれば、resources/templatesフォルダの中のhome/foo.html)を探してレンダリングします。ビューリゾルバは、ビュー名をどのように解釈するかを設定ファイルやビューテンプレートエンジンに基づいて判断します。

forward:パスと記述した場合

現在のリクエストが/homeであり、forward:home/fooを指定した場合、Springはこれを相対パスとして解釈し、/home/home/fooのように/homeを基準に相対的に解決することになります。

redirect:パスと記述した場合

リダイレクトは、ブラウザに新しいリクエストを発行させるため、完全なURLとして解釈されます。
redirectで遷移する場合、最初の/をつけることで、アプリケーションのルートパスを基準にリダイレクトが解釈されます。もし最初に/がないと、現在のパスを基準にリダイレクトが行われ、意図しない遷移が発生する可能性があります。

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?