如何显示当前日期&在smooks的Freemarker模板部分中的时间?

时间:2010-02-03 15:07:42

标签: freemarker

我可以使用freemarker模板中的smooks显示我传入的XML文件的内容,但我想添加Current Date&我的本地系统识别程序执行的时间。

<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>

你能告诉我如何添加当前日期&amp;在XML中没有条目的时间。

5 个答案:

答案 0 :(得分:7)

使用.now,他们前一段时间介绍过它,不需要java

答案 1 :(得分:3)

似乎有一个答案here。简短的回答,你需要传入Java。

答案 2 :(得分:0)

你不能这样做,因为像Freemarker这样的XML是模板引擎,而不是对象。您必须将其作为new Date();

传递给java对象

答案 3 :(得分: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>

然后,您应该可以访问freemarker中的“date”bean。

答案 4 :(得分:0)

你可以在没有.now的情况下完成,而且你不必传递新日期。 我现在不得不与旧的freemarker合作,而是做了这件事。

<#assign dateNow = Static["java.util.Calendar"].getInstance().getTime()?datetime />