Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/381.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
用Java构建HTML文件的最佳方法是什么?_Java_Html_Data Structures - Fatal编程技术网

用Java构建HTML文件的最佳方法是什么?

用Java构建HTML文件的最佳方法是什么?,java,html,data-structures,Java,Html,Data Structures,我正在用Java生成一个HTML格式的日志。是否有最适合存储HTML的数据结构 这对我来说似乎不是很干净: String html_header = "<!DOCTYPE html>\n<html><head><title>blah</title>...</html>"; String html_header=“\nblah…”; 当我需要在标记中使用属性并且必须转义该属性周围的引号时,这会变得特别难看 创建一个HTML

我正在用Java生成一个HTML格式的日志。是否有最适合存储HTML的数据结构

这对我来说似乎不是很干净:

String html_header = "<!DOCTYPE html>\n<html><head><title>blah</title>...</html>";
String html_header=“\nblah…”;
当我需要在标记中使用属性并且必须转义该属性周围的引号时,这会变得特别难看


创建一个HTML模板的数据文件是否更好,我可以通过Java读取该模板?

根据您的具体需要,您可以有几个选项。如果您想用对象构建文档结构,可以使用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>

${myTitle}

根据您的具体需要,您可以有多种选择。如果您想用对象构建文档结构,可以使用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>

${myTitle}
看起来像来自的复制品看起来像来自的复制品