JSP EL (Expression Language) に沿って、スタンドアロン アプリケーションでメッセージをテンプレート化/フォーマットするためのフレームワークを推奨できる人はいますか?
ある種のオブジェクトをインスタンス化し、次の行に沿ってテンプレートを与えることができると期待しています
Dear ${customer.firstName}. You order will be dispatched on ${order.estimatedDispatchDate}
パラメータ オブジェクトの値ディクショナリを含むコンテキストを提供します (この場合、'customer' という名前の Customer 型のオブジェクトと、'order' という名前の Order 型のオブジェクト)。
多くのテンプレート フレームワークが存在することは知っていますが、その多くは Web アプリケーションのコンテキスト外で動作しますが、これを大きな重量のテンプレート フレームワークとは考えていません。Java がすでに提供している基本的なメッセージ形式機能の改良版
たとえば、次のようなテンプレート (または「パターン」と呼ばれる) を使用して、java.text.MessageFormat で上記を実現できます。
Dear {0}. You order will be dispatched on {1,date,EEE dd MMM yyyy}
そして、呼び出し元の Java プログラムで Object 配列を渡すことができます
new Object[] { customer.getFirstName(), order.getEstimatedDispatchDate() };
ただし、この使用法では、コードとパターンは密接に関連しています。リソース・プロパティー・ファイルにパターンを入れることもできますが、コードとパターンは互いの詳細を知る必要があります。EL のようなシステムでは、コードとパターンの間のコントラクトははるかに高いレベル (たとえば、customer.firstName と order.estimatedDispatchDate ではなく、customer と order) になり、構造、順序、およびコンテンツの変更が容易になります。コードを変更せずにメッセージの。