j2html 使用教程
项目介绍
j2html 是一个用于生成 HTML 的 Java 库,它提供了一种类型安全的方式来构建 HTML 结构。j2html 不是一个模板引擎,而是一个 HTML 构建器,旨在通过 Java 代码生成 HTML 内容。它的语法流畅且与 HTML 紧密匹配,使得开发者可以在编译时捕获错误,而不是在运行时。
项目快速启动
安装
Maven
在 pom.xml
文件中添加以下依赖:
<dependency>
<groupId>com.j2html</groupId>
<artifactId>j2html</artifactId>
<version>1.6.0</version>
</dependency>
Gradle
在 build.gradle
文件中添加以下依赖:
compile 'com.j2html:j2html:1.6.0'
基本示例
以下是一个简单的示例,展示如何使用 j2html 生成 HTML:
import static j2html.TagCreator.*;
public class Main {
public static void main(String[] args) {
String html = html(
head(
title("标题"),
link().withRel("stylesheet").withHref("/css/main.css")
),
body(
main().withId("main").withClass("content").with(
h1("标题")
)
)
).render();
System.out.println(html);
}
}
应用案例和最佳实践
基本 HTML 结构
以下是一个创建基本 HTML 结构的示例:
import static j2html.TagCreator.*;
public class BasicExample {
public static void main(String[] args) {
String html = html(
head(
title("标题"),
link().withRel("stylesheet").withHref("/css/main.css")
),
body(
main().withId("main").withClass("content").with(
h1("标题")
)
)
).render();
System.out.println(html);
}
}
动态内容生成
j2html 支持动态生成内容,以下是一个动态生成列表的示例:
import static j2html.TagCreator.*;
import java.util.Arrays;
import java.util.List;
public class DynamicContentExample {
public static void main(String[] args) {
List<String> items = Arrays.asList("项目1", "项目2", "项目3");
String html = html(
body(
ul(
each(items, item -> li(item))
)
)
).render();
System.out.println(html);
}
}
典型生态项目
Javalin
Javalin 是一个简单而现代的 Java 和 Kotlin web 框架,可以与 j2html 结合使用来构建动态 web 应用程序。以下是一个简单的示例:
import io.javalin.Javalin;
import static j2html.TagCreator.*;
public class JavalinExample {
public static void main(String[] args) {
Javalin app = Javalin.create().start(7000);
app.get("/", ctx -> {
ctx.html(
html(
body(
h1("Hello World"),
img().withSrc("/img/hello.png")
)
).render()
);
});
}
}
通过结合 j2html 和 Javalin,开发者可以快速构建出类型安全的动态 web 应用程序。