3

FMPP Mavenプラグインを使用して、単純なHTMLページを組み立てるためにFreemarkerを使い始めました。ここまでは順調ですね。しかし、私がしなければならないことの1つは、システムプロパティ(Mavenが提供するシステムプロパティの1つ)の値をページに含めることです。Freemarkerテンプレートからシステムプロパティにアクセスする方法はありますか?(そうでない場合は、プラグインをハックしてMavenから値を渡すことができるようにする必要があるかもしれません)

4

2 に答える 2

3

参照https://community.jivesoftware.com/thread/14820

次のようにアクセスできます。

${statics['java.lang.System'].getProperty("my.property")}

ここのcfドキュメント: http://freemarker.sourceforge.net/docs/pgui_misc_beanwrapper.html

于 2011-06-18T07:39:39.333 に答える
2

FMPP には、すべてのテンプレートが参照する変数を指定すると呼ばれる設定があるため、そこにシステム プロパティを配置する必要があります。dataそこに値を入れるには、値を単純なリテラルとして指定できない場合を除き、いわゆるデータローダーが必要です。したがって、この場合、システム プロパティをjava.util.Propertiesオブジェクトとして返すデータ ローダーが必要です。そのためのデータローダーは特にありませんが、次のevalようにデータローダーを使用できます( でconfig.fmpp):

data: {
   ...
   sysProps: eval('System.getProperties()')
   ...
}

テンプレートで、 などのシステム プロパティにアクセスできるようになりsysProps["os.name"]ました。

または、カスタム FMPP データローダーを作成することもできます。http://fmpp.sourceforge.net/dataloader.html#sect19を参照してください。

于 2011-06-18T23:42:45.463 に答える