【问题标题】:What is the best way to build an HTML file with Java?用 Java 构建 HTML 文件的最佳方法是什么?
【发布时间】:2011-08-04 08:20:13
【问题描述】:
我正在用 Java 生成 HTML 格式的日志。是否有最适合存储 HTML 的数据结构?
这对我来说似乎不是很干净:
String html_header = "<!DOCTYPE html>\n<html><head><title>blah</title>...</html>";
当我需要在标签中使用属性并且必须转义该属性周围的引号时,这会变得特别难看。
创建一个可以通过 Java 读取的 HTML 模板的数据文件会更好吗?
【问题讨论】:
标签:
java
html
data-structures
【解决方案1】:
根据您的具体需求,您将有多种选择。如果你想用对象构建一个文档结构,你可以使用 DOM4j,它可以让你编写如下代码:
Document document = DocumentHelper.createDocument();
Element html = document.addElement( "html" );
Element head = html.addElement("head");
head.addElement("title").addText("blah");
Element body = html.addElement("body")
// etc
然后可以将此结构转换为字符串,并为您处理所有格式化细节(开始/结束标签、封闭属性等)。 Jakarta 的元素构造集提供了一个类似的 API,它也更加特定于 HTML。
或者,您可以包含一个模板引擎,该引擎允许您编写带有变量值和基本逻辑的占位符的 HTML 文件。然后,您可以将这些模板与您的数据结合起来以生成最终的 HTML。 FreeMarker 是一个使用非常广泛的引擎,如果你不介意花一点时间学习他们的模板语言,它会给你很大的灵活性。
如果你走这条路,你会创建一个像下面这样的模板:
<html>
<head>
<title>${myTitle}</title>
</head>
<!-- blah -->
</html>