9

我需要在 Java 中处理包含换行符的长字符串。这些是用于 HTML 生成的,但在这里并不是最重要的。

我知道 Java 在某种程度上是残废的,它没有heredocs。但是我可以使用其他机制:

1) 字符串连接(或 StringBuilders),可读性不强且可复制粘贴。

2) 将字符串存储在.properties文件中,可读性不强,但可复制粘贴性更高。

3)将每个“heredoc”存储在单独的.txt文件中,可读性强且可复制粘贴,但会产生大量 txt 文件。

4) 模板引擎,如VelocityFreemarker - 将设计移出 Java,需要大量映射操作,这会非常好,但 Velocity 语法和循环/if 能力不如 Smarty 的可读性

各有优劣,我想选择3,但管理层更喜欢1,因为纯粹是意识形态的原因。我想有一些标准来使用 Java 中的 heredocs,可能是让事情变得更容易的库。对于如何使用 heredocs 的任何建议(有充分的论据),我将不胜感激。

谢谢

4

2 回答 2

11

我讨厌成为“那个人”,他建议您采用与您所询问的完全不同的方法,但是您看过 Groovy 吗?它是 JVM 语言,可以与 Java 自由混合,除了一堆其他非常好的语言特性外,它还有 heredocs。

于 2012-05-29T22:22:03.823 回答
2

试试 Rythm 模板引擎,它是作为高性能 Java 模板引擎构建的,具有类似 Razor 的简洁语法。

链接:

更新

Rythm 现在有一个网站:http ://rythmengine.org和一个小提琴网站: http: //fiddle.rythmengine.org

于 2012-07-01T08:49:34.063 回答