有谁知道如何在 Java 中以编程方式生成 HTMLDocument 对象,而无需在外部生成 String 然后使用 HTMLEditorKit#read 来解析它?我问的两个原因:
首先,我的 HTML 生成例程需要非常快,并且我假设将字符串解析为内部模型比直接构建该模型的成本更高。
其次,面向对象的方法可能会产生更简洁的代码。
我还应该提到,出于许可原因,我不能求助于使用 JVM 附带的库以外的任何库。
原文由 Tom Klapiscak 发布,翻译遵循 CC BY-SA 4.0 许可协议
一种面向对象的方法是使用名为 ECS 的库。
这是一个非常简单的库,多年来没有改变。话又说回来,HTML 4.01 规范也没有改变 ;) 我使用过 ECS 并认为它比仅使用字符串或 StringBuffers/StringBuilders 生成大型 HTML 片段要好得多。
小例子:
optionElement.toString()
现在会产生:该库同时支持 HTML 4.0 和 XHTML。最初让我 很 困扰的唯一一件事是与 XHTML 版本相关的类名称以小写字母开头:
option
,input
tr
a
---
等等,这违反了最基本的 Java 约定。但如果您想使用 XHTML,那是您可以习惯的东西;至少我做到了,速度出奇的快。