「Java Spring Boot」Thymeleafで5つの画面遷移を行う

Java

HTML、JavaScript、Thymeleafでの画面遷移

フォルダ構成

今回、画面遷移の実験を行うにあたり、プロジェクトをSpring Initializrで「Java Spring Boot+Gradle」の構成を作成しました。

your root/
|-- src/main/java/
|   `-- com.example/
|      `-- controllers/
|          `-- PageController.java
|          `-- TopController.java
`-- src/main/resources/
   |-- templates/
   |     `-- NextPage.html
   |     `-- Top.html
   `-- static/
        `-- css/
           `-- main.css

TopController.java

URL「http://localhost:8080/」でトップページを表示するためのコントローラです。サーバーのコントローラから、フロントへ「id」という名前のパラメータを渡しています。ModelAndViewを使用し、パラメータとビューをセットしています。

PageController.java

遷移先ページのコントローラです。

Top.html

トップページのビューファイルです。

CASE 1 : 遷移先をformタグに記載する

フロントエンドで処理(判定、チェック、メッセージ表示など)を行う必要がなければ一番スマートな記載です。

CASE 2 : 遷移先をonClickに記載する

CASE1と出来ることは一緒ですが、CASE1のほうがよりスマートです。

CASE 3 : 遷移先をformタグに記載し、javascriptメソッドで遷移する

フロントエンドで処理(判定、チェック、メッセージ表示など)を行いたい場合の記載方法です。

CASE 4 : javascriptメソッドで遷移先を指定して遷移する

formタグに遷移先のactionなどを記載せず、javascriptの中で遷移先を動的に変更したい場合に使用できます。例えば、画面入力値に応じて遷移先の画面を切り替えたい時などに有効です。

CASE 5 : コントローラからの戻り値を遷移先に含める

GETのURLパラメータに、コントローラから受け取った「id」を付ける方法です。

最終的にはこのような画面になります。

NextPage.html

遷移先ページのビューです。

main.css

今回の目的からするとCSSは必須ではないので外部ファイル化しました。

札幌在住エンジニア。JavaやPHPやWordPressを中心とした記事が中心です。

【SE歴】四半世紀以上
【Backend】php / java(spring) / c# / AdobeFlex / c++ / VB / cobol
【Frontend】 vue.js / jquery他 / javascript / html / css
【DB】oracle / mysql / mariadb / sqlite
【infrastructure】aws / oracle / gcp
【license】aws(saa-c03) / oracle master / XML Master / Sun Certified Programmer for the Java 2 Platform 1.4

Nobelをフォローする
Java
Nobelをフォローする

コメント

タイトルとURLをコピーしました