看一下Thymeleaf。它是一个HTML模板引擎。
就是这么简单:
ClassLoaderTemplateResolver resolver = new ClassLoaderTemplateResolver();
resolver.setTemplateMode("HTML5");
resolver.setSuffix(".html");
TemplateEngine templateEngine = new TemplateEngine();
templateEngine.setTemplateResolver(resolver);
final Context context = new Context(Locale.CANADA);
String name = "John Doe";
context.setVariable("name", name);
final String html = templateEngine.process("myhtml", context);
使用myhtml.html文件:
<!DOCTYPE html SYSTEM "http://www.thymeleaf.org/dtd/xhtml1-strict-thymeleaf-3.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:th="http://www.thymeleaf.org">
<head>
<title>My first template with Thymeleaf</title>
</head>
<body>
<p th:text="${name}">A Random Name</p>
</body>
</html>
这里的占位符${name}
将会被你在context
中插入的值替换成A Random Name
,并出现在<p>
元素内。
至于您要求读取和生成表格,Thymeleaf
提供了循环结构以便根据需要重复执行(例如只要有数据剩余)。例如:
<tr th:each="prod : ${allProducts}">
将会遍历allProducts
,并在每次迭代中将每个对象分配给变量prod
。请查看教程和文档以获得更多信息。
注意,你必须自己编写HTML。
查看此答案,了解如何通过Jasper
生成HTML报告。