我可以使用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中没有条目的时间。
答案 0 :(得分:7)
使用.now,他们前一段时间介绍过它,不需要java
答案 1 :(得分:3)
似乎有一个答案here。简短的回答,你需要传入Java。
答案 2 :(得分:0)
你不能这样做,因为像Freemarker这样的XML是模板引擎,而不是对象。您必须将其作为new Date();
答案 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 />