Spring Boot シリーズの Web 開発用テンプレート エンジン Thymeleaf と FreeMarker の詳細な説明
前の記事では、json データを返す優れた RESTful API を紹介しました。次に、処理されたデータをページにレンダリングする方法を紹介します。
Spring Boot はテンプレート エンジンを使用します
Spring Boot では、Thymeleaf、FreeMarker、Velocity、Groovy、Mustache などのテンプレート エンジンを使用することをお勧めします。 JSP は推奨されません。
Spring Boot は、上記のエンジンに適切なデフォルト設定を提供します。デフォルトの src/main/resources/templates ディレクトリは、上記のテンプレート エンジンの設定パスです。
1. Spring Boot での Thymeleaf テンプレート エンジンの使用
概要: Thymeleaf は、Velocity や FreeMarker に似たテンプレート エンジンで、Web 環境および非 Web 環境でのアプリケーション開発に使用でき、JSP を完全に置き換えることができます。
1. pom.xml に依存関係を追加します
<!-- thymeleaf 模板引擎--> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>
2. th:text="${name}" が thymeleaf の構文である HTML コードを作成します。 Thymeleaf 公式ドキュメント
/** * @author sam * @since 2017/7/16 */ @Controller public class HomeController { @RequestMapping("/home") public String home(ModelMap modelMap) { modelMap.put("name", "Magical Sam"); List<String> list = new ArrayList<>(); list.add("sam a"); list.add("sam b"); list.add("sam c"); list.add("sam d"); modelMap.put("list", list); return "home"; } }
アプリケーションを起動し、http://localhost:8080/home にアクセスして、対応する結果を取得します。
thymeleaf のデフォルト設定を変更する必要がある場合は、application.properties に追加できます:
<!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> <body> <span th:text="${name}"></span> <ul> <li th:each="item : ${list}" th:text="${item}"></li> </ul> </body> </html>
2. Spring Boot で FreeMarker テンプレート エンジンを使用します
1 依存関係を pom.xml に追加します
# ================================================ # Thymeleaf配置 # ================================================ # 是否启用thymeleaf模板解析 spring.thymeleaf.enabled=true # 是否开启模板缓存(建议:开发环境下设置为false,生产环境设置为true) spring.thymeleaf.cache=false # Check that the templates location exists. spring.thymeleaf.check-template-location=true # 模板的媒体类型设置,默认为text/html spring.thymeleaf.content-type=text/html # 模板的编码设置,默认UTF-8 spring.thymeleaf.encoding=UTF-8 # 设置可以被解析的视图,以逗号,分隔 #spring.thymeleaf.view-names= # 排除不需要被解析视图,以逗号,分隔 #spring.thymeleaf.excluded-view-names= # 模板模式设置,默认为HTML5 #spring.thymeleaf.mode=HTML5 # 前缀设置,SpringBoot默认模板放置在classpath:/template/目录下 spring.thymeleaf.prefix=classpath:/templates/ # 后缀设置,默认为.html spring.thymeleaf.suffix=.html # 模板在模板链中被解析的顺序 #spring.thymeleaf.template-resolver-order=
2。
<!-- freemarker 模板引擎 --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-freemarker</artifactId> </dependency>
3、テンプレートの下に新しい home.ftl ファイルを作成し、HTML コードを記述します。freemarker の構文については、FreeMarker 公式ドキュメントを参照してください
home.ftl
同上。
アプリケーションを起動して、http://localhost: にアクセスします。 8080/home を実行すると、対応する結果が得られます。
freemarker のデフォルト設定を変更する必要がある場合は、application.properties に
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <title>Title</title> </head> <body> <span>${name}</span> <ul> <#list list as item > <li>${item}</li> </#list> </ul> </body> </html>
以上がSpring Boot シリーズの Web 開発用テンプレート エンジン Thymeleaf と FreeMarker の詳細な説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック
![Windows ISO ファイルが大きすぎる BootCamp エラー [修正済み]](https://img.php.cn/upload/article/000/887/227/170831702395455.jpg?x-oss-process=image/resize,m_fill,h_207,w_330)
Mac コンピュータで BootCampAssistant を使用しているときに「Windows ISO ファイルが大きすぎます」というエラー メッセージが表示される場合は、ISO ファイルのサイズが BootCampAssistant でサポートされている制限を超えていることが原因である可能性があります。この問題の解決策は、他のツールを使用して ISO ファイルのサイズを圧縮し、BootCamp アシスタントで処理できるようにすることです。 BootCampAssistant は、Mac コンピュータに Windows オペレーティング システムをインストールして実行するために Apple が提供する便利なツールです。ユーザーがデュアルブート システムをセットアップするのに役立ち、起動時に MacOS と Wind のどちらを使用するかを簡単に選択できるようになります。

2023年、AI技術が注目を集め、プログラミング分野を中心にさまざまな業界に大きな影響を与えています。 AI テクノロジーの重要性に対する人々の認識はますます高まっており、Spring コミュニティも例外ではありません。 GenAI (汎用人工知能) テクノロジーの継続的な進歩に伴い、AI 機能を備えたアプリケーションの作成を簡素化することが重要かつ緊急になっています。このような背景から、AI 機能アプリケーションの開発プロセスを簡素化し、シンプルかつ直観的にし、不必要な複雑さを回避することを目的とした「SpringAI」が登場しました。 「SpringAI」により、開発者はAI機能を搭載したアプリケーションをより簡単に構築でき、使いやすく、操作しやすくなります。

Spring プログラムによるトランザクションを実装する方法: 1. TransactionTemplate を使用する; 2. TransactionCallback および TransactionCallbackWithoutResult を使用する; 3. Transactional アノテーションを使用する; 4. TransactionTemplate を @Transactional と組み合わせて使用する; 5. トランザクション マネージャーをカスタマイズする。

Spring+AI は業界リーダーとして、強力で柔軟な API と高度な機能を通じてさまざまな業界に最先端のソリューションを提供します。このトピックでは、さまざまな分野での Spring+AI の応用例を詳しく掘り下げ、Spring+AI がどのように特定のニーズを満たし、目標を達成し、これらの教訓をより広範囲のアプリケーションに拡張するかを示します。このトピックが Spring+AI の無限の可能性をより深く理解し、活用するきっかけになれば幸いです。 Spring フレームワークはソフトウェア開発の分野で 20 年以上の歴史があり、Spring Boot 1.0 バージョンがリリースされてから 10 年が経過しました。今、その春に異論を唱える人はいない

Java によるスケジュールされたタスクの実装 Jdk に付属のライブラリでは、スケジュールされたタスクを実装する 2 つの方法があります。1 つは Timer で、もう 1 つは ScheduledThreadPoolExecutor です。 Timer+TimerTask が Timer を作成すると、TimerTask タスクのスケジュールに使用できるスレッドが作成されます。Timer には 4 つの構築メソッドがあり、Timer スレッドの名前と、それをデーモン スレッドとして設定するかどうかを指定できます。デフォルト名は Timer-number で、デフォルトはデーモン スレッドではありません。主なメソッドは 3 つあります。 cancel(): タスクのスケジュールを終了し、現在スケジュールされているすべてのタスクをキャンセルします。実行中のタスクは影響を受けません。 purge(): タスク キューからタスクを削除します。

SpringBoot と SpringCloud は両方とも、開発者がマイクロサービス アプリケーションをより迅速に構築およびデプロイできるようにする Spring Framework の拡張機能ですが、それぞれ異なる目的と機能を持っています。 SpringBoot は、Java アプリケーションを迅速に構築するためのフレームワークであり、開発者は Spring ベースのアプリケーションをより迅速に作成してデプロイできるようになります。スタンドアロンの実行可能な Spring アプリケーションを構築するための、シンプルでわかりやすい方法を提供します。

テクノロジーの更新と反復により、Java5.0 はアノテーションをサポートし始めました。 Java の主要なフレームワークである Spring は、バージョン 2.5 に更新されて以来、徐々に XML 構成を放棄し始めており、Spring フレームワークを制御するために使用されるアノテーションが増えています。

Spring でトランザクション分離レベルを設定する方法: 1. @Transactional アノテーションを使用します; 2. Spring 構成ファイルに設定します; 3. PlatformTransactionManager を使用します; 4. Java 構成クラスに設定します。詳細な導入方法: 1. @Transactional アノテーションを使用し、トランザクション管理が必要なクラスまたはメソッドに @Transactional アノテーションを追加し、属性に分離レベルを設定します。 2. Spring の設定ファイルなどで
