I need to work with long strings containing line breaks in Java. Those are for HTML generation, but it is not the most important here.
I'm aware Java is cripple in a way it doesn't have heredocs. But there are other mechanisms I could use:
1) String concatenation (or StringBuilders), not very readable and copy-pasteable.
2) Storing strings in .properties files, either not very readable, but with higher copypasteability.
3) Storing each "heredoc" in seperate .txt file, quite readable and copypasteable, but resulting in a horde of txt files.
4) Template engines, like Velocity or Freemarker - moves design out of Java, requires a lot of map operations, it would be quite good, but the Velocity syntax and loop/if abilities aren't as readable as for example those from Smarty
Each have pros and contras, I'd like to choose 3 but the management prefers 1 because of pure ideological reasons. I'd like to have some standard for working with heredocs in Java, possibly library that makes things easier. I'd be gratefull for any suggestions (with good arguments) how to work with heredocs.
Thanx
I hate to be "that guy", who suggests that you take a completely different approach than what you asked about, but have you looked at Groovy? It's JVM language, can be mixed freely with Java, and in addition to a bunch of other really nice language features, it has heredocs.
Try Rythm template engine, which is built as a high performance Java template engine with Razor like clean syntax.
Links:
Updates
Rythm now has a web site: http://rythmengine.org, and a fiddle site: http://fiddle.rythmengine.org
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With