9

Java で改行を含む長い文字列を処理する必要があります。これらは HTML 生成用ですが、ここでは最も重要ではありません。

Java にはヒアドキュメントがないという点で障害があることは承知しています。しかし、私が使用できる他のメカニズムがあります。

1) 文字列の連結(または StringBuilders)。読みにくく、コピーして貼り付けることができません。

2) 文字列を.propertiesファイルに保存します。読みにくいですが、コピーペースト可能性が高くなります。

3) 各「ヒアドキュメント」を個別の.txtファイルに保存すると、非常に読みやすくコピーペースト可能になりますが、大量の txt ファイルが生成されます。

4) VelocityFreemarkerなどのテンプレート エンジン- デザインを Java から移動し、多くのマップ操作を必要とします。これは非常に優れていますが、Velocity 構文とループ/if 機能は、たとえば Smarty のものほど読みやすくありません。

それぞれに長所と短所があります。私は 3 つを選びたいのですが、経営陣は純粋なイデオロギー上の理由から 1 つを好みます。Javaでヒアドキュメントを操作するための標準、おそらく物事を簡単にするライブラリが欲しいです。ヒアドキュメントの使用方法について、(適切な議論とともに) 提案をいただければ幸いです。

ありがとう

4

2 に答える 2

11

あなたが尋ねたものとはまったく異なるアプローチを取ることを提案する「あの男」になるのは嫌いですが、Groovy を見たことがありますか? これは JVM 言語であり、Java と自由に組み合わせることができます。また、他の多くの優れた言語機能に加えて、ヒアドキュメントがあります。

于 2012-05-29T22:22:03.823 に答える
2

クリーンな構文のようなRazorを備えた高性能Javaテンプレートエンジンとして構築されたRythmテンプレートエンジンを試してみてください。

リンク:

更新

Rythmには現在Webサイトhttp://rythmengine.orgとフィドルサイトhttp://fiddle.rythmengine.orgがあります。

于 2012-07-01T08:49:34.063 に答える