Soumettre la recherche
Mettre en ligne
SpringBootにおけるテンプレートエンジンの活用
•
1 j'aime
•
360 vues
iPride Co., Ltd.
Suivre
2022/05/12の勉強会で発表されたものです。
Lire moins
Lire la suite
Technologie
Signaler
Partager
Signaler
Partager
1 sur 25
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き
土岐 孝平
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
Masatoshi Tada
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
Laravel echo + vue.js + axiosで簡単チャットアプリ開発
Laravel echo + vue.js + axiosで簡単チャットアプリ開発
宜浩 香月
C#や.NET Frameworkがやっていること
C#や.NET Frameworkがやっていること
信之 岩永
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
Yoji Kanno
今さら聞けないDiとspring
今さら聞けないDiとspring
土岐 孝平
Recommandé
入社1年目のプログラミング初心者がSpringを学ぶための手引き
入社1年目のプログラミング初心者がSpringを学ぶための手引き
土岐 孝平
Spring Bootの本当の理解ポイント #jjug
Spring Bootの本当の理解ポイント #jjug
Masatoshi Tada
イミュータブルデータモデル(入門編)
イミュータブルデータモデル(入門編)
Yoshitaka Kawashima
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
ツール比較しながら語る O/RマッパーとDBマイグレーションの実際のところ
Y Watanabe
Laravel echo + vue.js + axiosで簡単チャットアプリ開発
Laravel echo + vue.js + axiosで簡単チャットアプリ開発
宜浩 香月
C#や.NET Frameworkがやっていること
C#や.NET Frameworkがやっていること
信之 岩永
オブジェクト指向エクササイズのススメ
オブジェクト指向エクササイズのススメ
Yoji Kanno
今さら聞けないDiとspring
今さら聞けないDiとspring
土岐 孝平
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
Yoshitaka Kawashima
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
Masatoshi Tada
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
SQLアンチパターン - ジェイウォーク
SQLアンチパターン - ジェイウォーク
ke-m kamekoopa
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
増田 亨
例外設計における大罪
例外設計における大罪
Takuto Wada
マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜
Yoshiki Nakagawa
JavaのテストGroovyでいいのではないかという話
JavaのテストGroovyでいいのではないかという話
disc99_
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
Yuji Nojima
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
Takeshi Ogawa
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
Takafumi ONAKA
オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
Spring Bootで変わる Javaアプリ開発! #jsug
Spring Bootで変わる Javaアプリ開発! #jsug
Toshiaki Maki
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
kenjis
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
kenjis
Contenu connexe
Tendances
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
Yoshitaka Kawashima
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
Masatoshi Tada
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
Koichiro Matsuoka
SQLアンチパターン - ジェイウォーク
SQLアンチパターン - ジェイウォーク
ke-m kamekoopa
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
増田 亨
例外設計における大罪
例外設計における大罪
Takuto Wada
マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜
Yoshiki Nakagawa
JavaのテストGroovyでいいのではないかという話
JavaのテストGroovyでいいのではないかという話
disc99_
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
Yuji Nojima
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
Yoshitaka Kawashima
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
Takeshi Ogawa
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
Atsushi Nakamura
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
Takafumi ONAKA
オブジェクト指向できていますか?
オブジェクト指向できていますか?
Moriharu Ohzu
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
土岐 孝平
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
Akihiko Horiuchi
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Yoshitaka Kawashima
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
Takuto Wada
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
masayoshi takahashi
Spring Bootで変わる Javaアプリ開発! #jsug
Spring Bootで変わる Javaアプリ開発! #jsug
Toshiaki Maki
Tendances
(20)
イミュータブルデータモデル(世代編)
イミュータブルデータモデル(世代編)
Java ORマッパー選定のポイント #jsug
Java ORマッパー選定のポイント #jsug
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
DDD x CQRS 更新系と参照系で異なるORMを併用して上手くいった話
SQLアンチパターン - ジェイウォーク
SQLアンチパターン - ジェイウォーク
ドメイン駆動設計のための Spring の上手な使い方
ドメイン駆動設計のための Spring の上手な使い方
例外設計における大罪
例外設計における大罪
マルチテナントのアプリケーション実装〜実践編〜
マルチテナントのアプリケーション実装〜実践編〜
JavaのテストGroovyでいいのではないかという話
JavaのテストGroovyでいいのではないかという話
最強オブジェクト指向言語 JavaScript 再入門!
最強オブジェクト指向言語 JavaScript 再入門!
それはYAGNIか? それとも思考停止か?
それはYAGNIか? それとも思考停止か?
さくっと理解するSpring bootの仕組み
さくっと理解するSpring bootの仕組み
世界一わかりやすいClean Architecture
世界一わかりやすいClean Architecture
「速」を落とさないコードレビュー
「速」を落とさないコードレビュー
オブジェクト指向できていますか?
オブジェクト指向できていますか?
怖くないSpring Bootのオートコンフィグレーション
怖くないSpring Bootのオートコンフィグレーション
GoによるWebアプリ開発のキホン
GoによるWebアプリ開発のキホン
イミュータブルデータモデルの極意
イミュータブルデータモデルの極意
Test Yourself - テストを書くと何がどう変わるか
Test Yourself - テストを書くと何がどう変わるか
何となく勉強した気分になれるパーサ入門
何となく勉強した気分になれるパーサ入門
Spring Bootで変わる Javaアプリ開発! #jsug
Spring Bootで変わる Javaアプリ開発! #jsug
Similaire à SpringBootにおけるテンプレートエンジンの活用
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
kenjis
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
kenjis
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
kenjis
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
Ayumi Goto
Windows ストア lob アプリ開発のためのガイダンスとフレームワークのご紹介 rev
Windows ストア lob アプリ開発のためのガイダンスとフレームワークのご紹介 rev
Shotaro Suzuki
アップルのテンプレートは有害と考えられる
アップルのテンプレートは有害と考えられる
Brian Gesiak
Gen-Template-for-Perl
Gen-Template-for-Perl
nasneg
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
Fumito Mizuno
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!
Shohei Okada
【プログラミング教室】テキスト
【プログラミング教室】テキスト
Manabu Ikarashi
Angular2 rc.1 unit testing overview
Angular2 rc.1 unit testing overview
Mitsuru Ogawa
Code Igniterについて
Code Igniterについて
Keita Ojima
20091030cakephphandson 01
20091030cakephphandson 01
Yusuke Ando
Building Silverlight Large Scale Application Using MVVM
Building Silverlight Large Scale Application Using MVVM
Shotaro Suzuki
Google App Engineでできる、あんなこと/こんなこと
Google App Engineでできる、あんなこと/こんなこと
a-know
Yapc::Asia 2011 rejectConf Slide
Yapc::Asia 2011 rejectConf Slide
Seiji Ohira
AngularJS入門
AngularJS入門
Kenji Shirane
Template Meta Programming入門から応用まで
Template Meta Programming入門から応用まで
yoshihikoozaki5
Vue入門
Vue入門
Takeo Noda
第1回 Magento Cafe Plus Kansai ~ Magentoカスタマイズ入門
第1回 Magento Cafe Plus Kansai ~ Magentoカスタマイズ入門
Hirokazu Nishi
Similaire à SpringBootにおけるテンプレートエンジンの活用
(20)
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2013/04 FuelPHP入門ハンズオン vol.1
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2011/12
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
10分でわかるFuelPHP @ 2012/05 OSC2012 Nagoya
エンタープライズ分野での実践AngularJS
エンタープライズ分野での実践AngularJS
Windows ストア lob アプリ開発のためのガイダンスとフレームワークのご紹介 rev
Windows ストア lob アプリ開発のためのガイダンスとフレームワークのご紹介 rev
アップルのテンプレートは有害と考えられる
アップルのテンプレートは有害と考えられる
Gen-Template-for-Perl
Gen-Template-for-Perl
FuelPHP Osu Nagoya vol.1
FuelPHP Osu Nagoya vol.1
PHP 2大 web フレームワークの徹底比較!
PHP 2大 web フレームワークの徹底比較!
【プログラミング教室】テキスト
【プログラミング教室】テキスト
Angular2 rc.1 unit testing overview
Angular2 rc.1 unit testing overview
Code Igniterについて
Code Igniterについて
20091030cakephphandson 01
20091030cakephphandson 01
Building Silverlight Large Scale Application Using MVVM
Building Silverlight Large Scale Application Using MVVM
Google App Engineでできる、あんなこと/こんなこと
Google App Engineでできる、あんなこと/こんなこと
Yapc::Asia 2011 rejectConf Slide
Yapc::Asia 2011 rejectConf Slide
AngularJS入門
AngularJS入門
Template Meta Programming入門から応用まで
Template Meta Programming入門から応用まで
Vue入門
Vue入門
第1回 Magento Cafe Plus Kansai ~ Magentoカスタマイズ入門
第1回 Magento Cafe Plus Kansai ~ Magentoカスタマイズ入門
Plus de iPride Co., Ltd.
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
iPride Co., Ltd.
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
iPride Co., Ltd.
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
iPride Co., Ltd.
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
iPride Co., Ltd.
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作り
iPride Co., Ltd.
AWS (Amazon Web Services) を勉強してみる その3 2024/03/01の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる その3 2024/03/01の勉強会で発表されたものです。
iPride Co., Ltd.
AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。
iPride Co., Ltd.
可用性・セキュリティを考慮して AWSでDrupalを構築する 2024/02/09の勉強会で発表されたものです。
可用性・セキュリティを考慮して AWSでDrupalを構築する 2024/02/09の勉強会で発表されたものです。
iPride Co., Ltd.
AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
iPride Co., Ltd.
AWS CDKを使おうとしたら普通に悪戦苦闘した話 2024/02/02の勉強会で発表されたものです。
AWS CDKを使おうとしたら普通に悪戦苦闘した話 2024/02/02の勉強会で発表されたものです。
iPride Co., Ltd.
AWS (Amazon Web Services) を勉強してみる 2024/01/26の勉強会で発表されたものです
AWS (Amazon Web Services) を勉強してみる 2024/01/26の勉強会で発表されたものです
iPride Co., Ltd.
AWS SAM入門 2024/01/26の勉強会で発表されたものです【アイ・プライド】
AWS SAM入門 2024/01/26の勉強会で発表されたものです【アイ・プライド】
iPride Co., Ltd.
Drupalでフォームの代わりにSPA (React) を表示させる話 2023/12/15の勉強会で発表されたものです。
Drupalでフォームの代わりにSPA (React) を表示させる話 2023/12/15の勉強会で発表されたものです。
iPride Co., Ltd.
ChatGPTを用いてCDKを勉強
ChatGPTを用いてCDKを勉強
iPride Co., Ltd.
OpenID Connectについて
OpenID Connectについて
iPride Co., Ltd.
画像生成AIの問題点
画像生成AIの問題点
iPride Co., Ltd.
AI入門
AI入門
iPride Co., Ltd.
Plus de iPride Co., Ltd.
(20)
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その32024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
Amazon SES を勉強してみる その22024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
新人研修 後半 2024/04/26の勉強会で発表されたものです。
SOPを理解する 2024/04/19 の勉強会で発表されたものです
SOPを理解する 2024/04/19 の勉強会で発表されたものです
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
新人研修のまとめ 2024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
Amazon SES を勉強してみる その12024/04/12の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS_Bedrock入門 このスライドは2024/03/08の勉強会で発表されたものです。
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS Lambdaと AWS API Gatewayを使ったREST API作り
AWS (Amazon Web Services) を勉強してみる その3 2024/03/01の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる その3 2024/03/01の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる おさらい 2024/02/16の勉強会で発表されたものです。
可用性・セキュリティを考慮して AWSでDrupalを構築する 2024/02/09の勉強会で発表されたものです。
可用性・セキュリティを考慮して AWSでDrupalを構築する 2024/02/09の勉強会で発表されたものです。
AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
AWSで全てのパブリックIPv4アドレスが有料になった件について 2024/02/09の勉強会で発表されたものです。
AWS CDKを使おうとしたら普通に悪戦苦闘した話 2024/02/02の勉強会で発表されたものです。
AWS CDKを使おうとしたら普通に悪戦苦闘した話 2024/02/02の勉強会で発表されたものです。
AWS (Amazon Web Services) を勉強してみる 2024/01/26の勉強会で発表されたものです
AWS (Amazon Web Services) を勉強してみる 2024/01/26の勉強会で発表されたものです
AWS SAM入門 2024/01/26の勉強会で発表されたものです【アイ・プライド】
AWS SAM入門 2024/01/26の勉強会で発表されたものです【アイ・プライド】
Drupalでフォームの代わりにSPA (React) を表示させる話 2023/12/15の勉強会で発表されたものです。
Drupalでフォームの代わりにSPA (React) を表示させる話 2023/12/15の勉強会で発表されたものです。
ChatGPTを用いてCDKを勉強
ChatGPTを用いてCDKを勉強
OpenID Connectについて
OpenID Connectについて
画像生成AIの問題点
画像生成AIの問題点
AI入門
AI入門
Dernier
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
CRI Japan, Inc.
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
atsushi061452
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
CRI Japan, Inc.
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Hiroshi Tomioka
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
Toru Tamaki
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
Toru Tamaki
Dernier
(8)
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
LoRaWANスマート距離検出センサー DS20L カタログ LiDARデバイス
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
論文紹介: The Surprising Effectiveness of PPO in Cooperative Multi-Agent Games
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
LoRaWAN スマート距離検出デバイスDS20L日本語マニュアル
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
Observabilityは従来型の監視と何が違うのか(キンドリルジャパン社内勉強会:2022年10月27日発表)
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Selective Structured State-Spaces for Long-Form Video Understanding
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
論文紹介:Video-GroundingDINO: Towards Open-Vocabulary Spatio-Temporal Video Groun...
SpringBootにおけるテンプレートエンジンの活用
1.
2023.5.12 Xiao SpringBootにおける テンプレートエンジンの活用 ー Thymeleafの基本的な使い方
ー
2.
目次 • まえがき • テンプレートエンジンとは •
テンプレートエンジン Thymeleaf の基本的な使い方 • まとめ
3.
まえがき • 今回の発表資料の参考文献 ・掌田津耶乃 「SpringBoot3
プログラミング入門」 秀和システム(2023) 第3章「テンプレートエンジンの活用」より、 3-1「Thymeleafテンプレートエンジン」の内容を取り上げる。 ※ 第3章「テンプレートエンジンの活用」には、Thymeleafの他に、 Mustache, Groovy templates の内容もあるが、 今回の発表では、Thymeleafのみの説明とする。
4.
テンプレートエンジンとは SpringBootにおけるMVCモデル • SpringBootのWebアプリケーションでは、「MVCモデル」をベースに設計されている。 <MVCモデル> クライアント Controller Model View データベース Controller
: 全体の処理の制御を行うもの Model: アプリケーションで使うデータを管理するもの View: 画面の表示を扱うもの
5.
テンプレートエンジンとは SpringBootにおけるMVCモデル • テンプレートエンジン: MVCモデルの中の
”View” の部分を担当するもの。 • テンプレートとなるテキスト(HTML etc..)を元に、データを組み込んでWebページを生成する。 • テキストのコードを出力するだけでなく、値や式を埋め込んで、実行時に演算処理して画面に表示す ることもできる。 • テンプレートエンジンには種類がある。(Thymeleaf, Groovy templates etc..) • Thymeleaf:JavaのWebアプリケーション開発での利用を前提に開発されているテンプレートエンジン。
6.
Thymeleafの基本的な使い方 値の受け渡し(テンプレート側の書き方) • テンプレート内に変数を埋め込んでおき、コントローラ側で必要な値を渡して表示させる。 <〇〇 th:text=“値”> 例1)テンプレートHTMLの<body>内 <body
class="container"> <h1 class="display-4 mb-4">Hello page</h1> <p class="h6 alert alert-primary" th:text="${msg}"></p> </body> ${ 変数名 } → 変数を埋め込む時の基本的な書き方
7.
Thymeleafの基本的な使い方 値の受け渡し(コントローラ側の書き方) 例1)コントローラ側(Modelの利用) @Controller public class EventschedulerController
{ @RequestMapping("/") public String index(Model model) { model.addAttribute("msg", “This is a sample message.”); return "index"; } } ※ indexメソッドの引数 Model → 後ほど説明 ・値にコメントを入れる場合
8.
Thymeleafの基本的な使い方 値の受け渡し(画面表示) 例1)画面表示 ※受け渡した値 ”This is
a sample message.” が表示される。
9.
Thymeleafの基本的な使い方 値の受け渡し(コントローラ側の書き方) 例2)コントローラ側(Modelの利用) @Controller public class EventschedulerController
{ @RequestMapping("/{num}") public String index(@PathVariable int num, Model model) { int res = 0; for(int i = 1; i <= num; i++) { res += i; } model.addAttribute("msg", "total: " + res); return "index"; } } ・値にパラメータ変数を入れる場合
10.
Thymeleafの基本的な使い方 値の受け渡し(画面表示) 例2)画面表示 ※受け渡した値 ”total” +
res が表示される。 /22 → num = 22; int res = 0; for(int i = 1; i <= num; i++) { res += i; }
11.
Thymeleafの基本的な使い方 値の受け渡し(コントローラ側の書き方) 例3)コントローラ側(ModelAndViewの利用) @Controller public class EventschedulerController
{ @RequestMapping("/{num}") public ModelAndView index(@PathVariable int num, ModelAndView mav) { int res = 0; for(int i = 1; i <= num; i++) { res += i; } mav.addObject("msg", "total: " + res); mav.setViewName("index"); return mav; } } ・例2のindexメソッドの引数をModel → ModelAndViewに書き換える。
12.
Thymeleafの基本的な使い方 値の受け渡し(画面表示) 例3)画面表示 ・Modelを使った時と結果は同じ。
13.
Thymeleafの基本的な使い方 値の受け渡し(ModelとModelAndView) ・ModelとModelAndViewの違い @Controller //<省略> model.addAttribute("msg", "total: "
+ res); return “index"; } } ・Model ・ModelAndView @Controller //<省略> mav.addObject("msg", "total: " + res); mav.setViewName("index"); return mav; } } Model →テンプレート側に渡す情報をまとめて管理する。 (今回は変数msgのみである。) 実際に表示するテンプレートは、 returnで名前を返すことで指定する。 ModelAndView →使用するテンプレートとそこで使われるデータを、 まとめて一つの戻り値で返すことができる。
14.
Thymeleafの基本的な使い方 フォームを利用する • クライアント側で入力した値を受け渡す。(form) 例4)テンプレートHTMLの<body>内 <body class="container"> <h1
class="display-4 mb-4">Hello page</h1> <p th:text="${msg}"></p> <div class="h6 alert alert-primary"> <form method="post" action="."> <div class="input-group"> <input type="text" class="form-control me-1" name="text1" th:value="${value}" /> <span class="input-group-btn"> <input type="submit" class="btn btn-primary px-4" value="Click" /> </span> </div> </form> </div> </body>
15.
Thymeleafの基本的な使い方 フォームを利用する 例4)コントローラ側(ModelAndView) @Controller public class EventschedulerController
{ @RequestMapping(value="/", method=RequestMethod.GET) public ModelAndView index(ModelAndView mav) { mav.addObject("msg", "Fill in your name, please."); mav.setViewName("index"); return mav; } @RequestMapping(value="/", method=RequestMethod.POST) public ModelAndView form(@RequestParam("text1") String str, ModelAndView mav) { mav.addObject("msg", "Hi," + str +"!!"); mav.addObject("value", str); mav.setViewName("index"); return mav; } } HTTPメソッド → アクセスの方法をメソッドとして用意している。 GET : 指定したURLにブラウザなどでアクセスした時。 POST : フォームに入力した内容などが送られてくる。 ※@RequestMapping(method=〇〇)と記載している。 ↓ GET : @GetMapping(“/”) POST : @PostMapping(“/”) *このように簡単に書くこともできる。
16.
Thymeleafの基本的な使い方 フォームを利用する(画面表示) 例4)画面表示 入力フォームに ”John Doe”と入力してClick
17.
Thymeleafの基本的な使い方 ページの利用(フォワードとリダイレクト) • あるアドレスにアクセスしたとき、必要に応じて別のアドレスに移動させたい場合に利用される。 • フォワード:サーバー内部で別のページを読み込み表示するもの。 •
リダイレクト:クライアント側に送られた後で別のページに移動させるもの。 アクセスしているアドレスそのものも移動先のものに変更される。 例5)テンプレートHTMLの<body>内 (例1と同じ) <body class="container"> <h1 class="display-4 mb-4">Hello page</h1> <p class="h6 alert alert-primary" th:text="${msg}"></p> </body>
18.
Thymeleafの基本的な使い方 フォームを利用する 例5)コントローラ側(ModelAndView) @Controller public class eventManageController
{ @RequestMapping(value="/", method=RequestMethod.GET) public ModelAndView index(ModelAndView mav) { mav.addObject("msg", "This is /index page."); mav.setViewName("index"); return mav; } @RequestMapping("/home") public String home() { return "forward:/"; } @RequestMapping("/other") public String other() { return "redirect:/"; } } http://localhost:8080/home でアクセス →フォワード http://localhost:8080/other でアクセス →リダイレクト
19.
Thymeleafの基本的な使い方 画面表示 例5)画面表示 ・http://localhost:8080 でアクセス http://localhost:8080/other でアクセス ・http://localhost:8080/home
でアクセス ・http://localhost:8080/other でアクセス後 forward redirect
20.
Thymeleafの基本的な使い方 • Thymeleafには、「値を受け渡して、その値を表示する( th:text
)」という機能の他にも様々 な機能がある。 • 条件処理 th:if / th:unless • 繰り返し処理 th:each • スイッチ処理 th:switch * 書き方と表示例を次ページより簡単に説明する。
21.
Thymeleafの基本的な使い方 条件処理 th:if /
th:unless • 条件による表示:「その要素を表示するかどうか。」を示す属性が用意されている。 ・ <〇〇 th:if=“${ 値 }”> :値が真だと表示 ・ <〇〇 th:unless=“${ 値 }”> :値が偽だと表示 例)アクセスするごとに表示が変わるサンプル ・boolean変数を用意 boolean fl ag = false; ・アクセスするごとに切り替え fl ag = ! fl ag 真の表示 偽の表示
22.
Thymeleafの基本的な使い方 繰り返し処理 th:each • ${
コレクション }に複数の値を保管する。コレクションから値を順に取り出して変数に代入。 要素内に記述された内容を出力。 例)コレクションに指定した3つの値を 繰り返し表示させるサンプル ・コントローラ側 String[] data = new String[] {“a”, “bb”, “ccc”}; ・テンプレート側 ・ <〇〇 th:each=“変数名 : ${ コレクション }”> …繰り返す表示内容… <〇〇> <ul th:each="item:${data}"> <li th:text="${item}"></li> </ul>
23.
Thymeleafの基本的な使い方 スイッチ処理 th:switch • 値に応じて表示を切り替える。
例)パラメータ変数を用意し、その値に応じて表示する。 ・テンプレート側 ・ <〇〇 th:switch=“${ 変数 }”> <△△ th:case=“ 値1 ”> <△△ th:case=“ 値1 ”> <〇〇> <div th:switch="${number}"> <p th:case="1" th:text="One"></p> <p th:case="2" th:text="Two"></p> <p th:case="3" th:text="Three"></p> </div> …
24.
まとめ • テンプレートエンジン Thymeleaf
の基本的な使い方(テンプレート・コント ローラの書き方)について取り上げた。 • Thymeleafには取り上げた他にも、多くの機能が搭載されている。 • ${ }による変数の埋め込みさえ抑えれば、基本的なWebページの作成はでき る。
25.
ご清聴ありがとうございました。
Télécharger maintenant