4

フリーマーカーテンプレートのsmooksを使用して受信XMLファイルの内容を表示できますが、プログラムの実行を識別するためにローカルシステムの現在の日付と時刻を追加したいと思います。

<ftl:freemarker applyOnElement="CreditCard">
    <ftl:template><!--        <BalanceInquiryRequest>
        <TransactionId>${BalanceInquiryRequest.TransactionId}</<TransactionId>
        <ConfigurationId>${BalanceInquiryRequest.ConfigurationId}</ConfigurationId>
        <CardNumberr>${.vars["GiftCard"].CardNumber}</CardNumberr>
        <ExpirationDate>${.vars["GiftCard"].ExpirationDate}</ExpirationDate>
        <SecurityCode>${.vars["GiftCard"].SecurityCode}</SecurityCode>
       *****************************
Here I want to display the current Date & time 
    </BalanceInquiryRequest>
    --></ftl:template>
</ftl:freemarker>

着信XMLにエントリがなくても、XMLに現在の日付と時刻を追加する方法を教えてください。

4

5 に答える 5

8

.now を使用します。しばらく前に導入されました。Java は必要ありません。

于 2013-06-13T15:02:26.527 に答える
3

ここに答えがあるようです。簡単に言えば、Java を渡す必要があります。

于 2010-05-25T18:22:54.213 に答える
0

Freemarker のような XML はテンプレート エンジンであり、オブジェクトではないため、これを行うことはできません。次のようにJavaオブジェクトに渡す必要がありますnew Date();

于 2010-08-18T19:03:20.557 に答える
0

Smooks 構成ファイルに短い Groovy スクリプトを記述して、beancontext 内の Bean に今日の日付を入力することができます。次に、freemarker スクリプトはその Bean からの値を使用できます。

編集: ここで Groovy と Smooks の詳細を読むことができます: http://www.smooks.org/mediawiki/index.php?title=V1.3:Smooks_v1.3_User_Guide#Groovy_Scripting

おそらくhttp://www.milyn.org/javadoc/v1.2/smooks-cartridges/javabean/org/milyn/javabean/repository/BeanRepository.htmlのメソッドを使用して、次のようなことをしたいと思うでしょう:

  <g:groovy executeOnElement="xxx">
    <g:script>
    <!--
    addBean("date", new Date());
    -->
    </g:script>
</g:groovy>

これで、フリーマーカーの「日付」Bean にアクセスできるようになります。

于 2011-01-18T17:44:42.847 に答える