使用 Java 以编程方式生成 HTMLDocument

新手上路,请多包涵

有谁知道如何在 Java 中以编程方式生成 HTMLDocument 对象,而无需在外部生成 String 然后使用 HTMLEditorKit#read 来解析它?我问的两个原因:

首先,我的 HTML 生成例程需要非常快,并且我假设将字符串解析为内部模型比直接构建该模型的成本更高。

其次,面向对象的方法可能会产生更简洁的代码。

我还应该提到,出于许可原因,我不能求助于使用 JVM 附带的库以外的任何库。

原文由 Tom Klapiscak 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 230
1 个回答

一种面向对象的方法是使用名为 ECS 的库。

这是一个非常简单的库,多年来没有改变。话又说回来,HTML 4.01 规范也没有改变 ;) 我使用过 ECS 并认为它比仅使用字符串或 StringBuffers/StringBuilders 生成大型 HTML 片段要好得多。

小例子:

 Option optionElement = new Option();
optionElement.setTagText("bar");
optionElement.setValue("foo");
optionElement.setSelected(false);

optionElement.toString() 现在会产生:

 <option value='foo'>bar</option>

该库同时支持 HTML 4.0 和 XHTML。最初让我 困扰的唯一一件事是与 XHTML 版本相关的类名称以小写字母开头: option , input tr a --- 等等,这违反了最基本的 Java 约定。但如果您想使用 XHTML,那是您可以习惯的东西;至少我做到了,速度出奇的快。

原文由 Jonik 发布,翻译遵循 CC BY-SA 2.5 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏