私はFreemarker(FMPP)を使ってテキストファイルをカスタマイズしています。Freemarker変数定義が別の変数を参照しています
VAR1=some-value
VAR2=${VAR1}
これは非常に私の実際のファイルから簡略化されているが、私のユースケースの本質を保持し、次のように私は、補間データを定義するプロパティファイルを持っていると思います。テンプレートには${VAR2}
という形式の参照が含まれていますが、これはsome-value
が補間されることを期待しています。代わりに、補間された値はリテラル${VAR1}
です。
これは変数の名前(間接参照)として変数の値を使用することを意味するCan a freemarker interpolation contain an interpolation?とは異なります。また、can freemarker do second replacementへの解決には、テンプレートの変更が含まれます。私はテンプレートが処理される前に概念的に '代入'が起こるようにしたいので、テンプレートは${VAR2}
のみを参照することができ、二重補間を意識する必要はありません。
FreeMarkerでこれを実現する方法はありますか?
もしそうでなければ、Velocityがこれを簡単に行うことができるかどうか誰にでも教えてください。
これは私が思ったものです。同じ結論。私は2段階のソリューションを開発しました。まず、テンプレートとしてプロパティ変数を処理し(外部パラメータを置換するため)、次に '実際の'テンプレートの2番目の変換への入力として処理します。 –