使用Java中的长字符串(heredocs) - 可读的方法?

时间:2012-05-29 21:29:13

标签: java string heredoc

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

我知道Java没有 heredocs 的方式瘫痪。但是我还可以使用其他机制:

1)String concatenation (或StringBuilders),不是非常易读和可复制粘贴。

2)在 .properties 文件中存储字符串,这些文件不是非常易读,但具有更高的复制性。

3)存储每个" heredoc"在单独的 .txt 文件中,非常易读且易于复制,但会产生大量的txt文件。

4)模板引擎,如 Velocity Freemarker - 将设计移出Java,需要大量的地图操作,这将是相当不错的,但Velocity语法和循环/如果能力不像Smarty那样可读。

每个人都有优点和反对意见,我想选择3,但由于纯粹的意识形态原因,管理层更喜欢1。我希望在Java中使用heredocs有一些标准,可能是使事情变得更容易的库。我很感激任何建议(有很好的论据)如何与heredocs合作。

感谢名单

2 个答案:

答案 0 :(得分:8)

我讨厌做那个“那个人”,他建议你采取一种完全不同于你所问的方法,但是你看过Groovy吗?它是JVM语言,可以与Java自由混合,除了一堆其他非常好的语言功能外,它还有heredocs。

答案 1 :(得分:2)

尝试使用Rythm模板引擎,它是一个高性能的Java模板引擎,使用Razor,语法干净。

链接:

<强>更新

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