FreeMarkerは AWT に厄介な依存関係があります。これにより、Google App Engine などで使用できなくなります。
私はすべての Java テンプレートのニーズにStringTemplateを使用することを好みます。これは、ロジックをテンプレートから厳密に分離する唯一の Java ベースのテンプレート システムです。
StringTemplate は、ソース コード、Web ページ、電子メール、またはその他の書式設定されたテキスト出力を生成するための Java テンプレート エンジン (C#、Python、Ruby、および Scala 用のポートを備えた) です。StringTemplate は、マルチターゲット コード ジェネレーター、複数のサイト スキン、および国際化/ローカリゼーションに特に適しています。
その際立った特徴は、他のエンジンとは異なり、モデルとビューの分離を厳密に実施することです。厳密に分離することで、Web サイトとコード ジェネレーターの柔軟性と保守性が向上します。また、悪意のあるテンプレート作成者に対する優れた防御も提供します。
XMLを生成しているので
一見するとわかりにくい別の解決策は、JAXB を使用することです。XML を生成する必要があるプロジェクトがここにあります。出力ファイル用に非常に明確に定義された XSD ファイルがあり、オブジェクトの構築とそれらのマーシャリングは非常に簡単で非常に簡単です。