我需要在 Java 中使用包含换行符的长字符串。这些是用于HTML生成的,但在这里不是最重要的。
我知道Java在某种程度上是残缺的,它没有heredocs。但是我可以使用其他机制:
1)字符串连接(或StringBuilders),不是很好读和复制粘贴。
2)将字符串存储在.properties文件中,要么不是很好读,但具有更高的可复制粘贴性。
3)将每个"heredoc"存储在单独的.txt文件中,非常可读和可复制粘贴,但会产生大量的txt文件。
4)模板引擎,如Velocity或Freemarker - 将设计移出Java,需要大量的映射操作,这将是相当不错的,但是Velocity语法和循环/if功能不如Smarty的可读
性每个人都有优点和缺点,我想选择 3 个,但管理层更喜欢 1 个,因为纯粹的意识形态原因。我想有一些在 Java 中使用 heredocs 的标准,可能是使事情变得更容易的库。我将不胜感激任何建议(有很好的论据)如何使用heredocs。
感谢
我讨厌成为"那个人",他建议你采取与你询问的完全不同的方法,但你看过 Groovy 吗?它是JVM语言,可以与Java自由混合,除了一堆其他非常好的语言功能外,它还具有heredocs。
尝试 Rythm 模板引擎,它是作为高性能 Java 模板引擎构建的,具有类似 Razor 的干净语法。
链接:
- 查看全功能演示
- 阅读 Rythm 的简要介绍
- 下载最新软件包或
- 分叉它
更新
Rythm现在有一个网站:http://rythmengine.org,还有一个小提琴网站:http://fiddle.rythmengine.org