Web 開発において、テンプレート エンジンは動的 HTML を生成するために使用されるツールで、データと HTML テンプレートを組み合わせて最終的な HTML ページを生成します。 Thymeleaf は新しいテンプレート エンジンです。Java テンプレート エンジンとして、HTML、XML、JSP、JavaScript、CSS をサポートしています。データとテンプレートを分離することで、HTML の生成がより柔軟になり、保守が容易になります。
この記事では主にJava API開発においてThymeleafを使ってWebテンプレートエンジンを処理する方法を紹介します。
1. Thymeleaf の概要
Thymeleaf は、Web 環境および非 Web 環境で使用できる Java テンプレート エンジンです。 Thymeleaf は開発者向けのテンプレート エンジンとして、Spring などのフレームワークと統合することで、開発サイクルの短縮、コード量の削減、外部依存関係の削減、保守性の向上などの一連の利点を実現できます。
2. テンプレート エンジンの処理に Thymeleaf を使用する
依存関係を pom.xml ファイルに追加します:
<dependency> <groupId>org.thymeleaf</groupId> <artifactId>thymeleaf-spring5</artifactId> <version>3.0.12.RELEASE</version> </dependency>
Thymeleaf をビュー パーサーとして使用するには、Spring Boot で構成する必要があります。
@Configuration public class ThymeleafConfig { @Autowired private ApplicationContext applicationContext; @Bean public ITemplateResolver templateResolver() { SpringResourceTemplateResolver resolver = new SpringResourceTemplateResolver(); resolver.setApplicationContext(applicationContext); resolver.setPrefix("classpath:/templates/"); resolver.setSuffix(".html"); resolver.setCharacterEncoding("UTF-8"); resolver.setCacheable(false); return resolver; } @Bean public SpringTemplateEngine templateEngine() { SpringTemplateEngine engine = new SpringTemplateEngine(); engine.setTemplateResolver(templateResolver()); return engine; } @Bean public ViewResolver viewResolver() { ThymeleafViewResolver resolver = new ThymeleafViewResolver(); resolver.setTemplateEngine(templateEngine()); resolver.setCharacterEncoding("UTF-8"); return resolver; } }
src/main/resources/templates ディレクトリに HTML ファイルを作成します:
<!DOCTYPE html> <html xmlns:th="http://www.thymeleaf.org"> <head> <title>Thymeleaf Example</title> </head> <body> <p th:text="'Hello, ' + ${name} + '!'" /> </body> </html>
その中に、xmlns:th="http://www.thymeleaf.org"
は Thymeleaf タグを使用することを意味し、${name}
は渡されるパラメータです。
コントローラーでリクエストを処理し、Thymeleaf の方法でテンプレートをレンダリングします:
@Controller public class HelloController { @GetMapping("/hello") public String hello(Model model) { model.addAttribute("name", "World"); return "hello"; } }
その中に、"hello"
このパラメーターは、リクエストの処理後にレンダリングする必要があるテンプレートを示します。
ブラウザに http://localhost:8080/hello
と入力すると、出力が表示されます: こんにちは世界!###。
以上がJava API開発におけるWebテンプレートエンジン処理にThymeleafを使用するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。