Как отобразить текущую дату и время в разделе шаблонов Freemarker smooks? - PullRequest
4 голосов
/ 03 февраля 2010

Я могу отображать содержимое моего входящего XML-файла с помощью smooks в шаблоне freemarker, но я хочу добавить текущую дату и время моей локальной системы, чтобы идентифицировать выполнение моей программы.

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

Ответы [ 5 ]

7 голосов
/ 13 июня 2013

использовать. Теперь, они представили это некоторое время назад, нет необходимости в Java

3 голосов
/ 25 мая 2010

Кажется, здесь есть ответ .Краткий ответ, вам нужно перейти на Java.

0 голосов
/ 13 декабря 2017

Вы можете сделать это без .now, и вам не нужно вводить новую дату.Я сейчас работаю со старым freemarker и сделал это вместо этого.

<#assign dateNow = Static["java.util.Calendar"].getInstance().getTime()?datetime />
0 голосов
/ 18 января 2011

Вы можете написать короткий Groovy-скрипт в файле конфигурации Smooks, чтобы заполнить bean-компонент в 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-компоненту date в вашем свободном маркере.

0 голосов
/ 18 августа 2010

Вы не можете сделать это, так как XML, как и Freemarker, являются движками шаблонов, а не объектами. Вы должны передать его в Java-объект как new Date();

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...