2016-11-24 4 views
0

Мне нужно выполнить некоторые арифметические операции в шаблоне freemarker. У меня есть список объектов, и мне нужно применить арифметическую операцию, как показано ниже ...Арифметические операции FreeMarker в итерации списка java

<#list order.orderDetails as orderDetail> 
    <tr> 
     <#assign orderTotal=${orderDetail.quantity}*${orderDetail.price}> 
     <td>${orderDetail.product.productName}</td> 
     <td>${orderDetail.quantity}</td> 
     <td>${orderDetail.price}</td> 
     <td>orderTotal</td> 
    </tr> 
</#list> 

мне нужно заказать общую стоимость, используя этот расчет, но он не работает. Он показывает

ошибка в синтаксисе. assign tag не принимает этот тип инъекции значений.

ответ

1

Выполнение арифметических операций, как это:

<#assign orderTotal=orderDetail.quantity * orderDetail.price> 

Обратитесь к переменной, как это:

<td>${orderTotal}</td> 

Или просто:

<td>${orderDetail.quantity * orderDetail.price}</td> 
+0

Я попробовал ваш код, но он не Работа. Он выбрасывает исключение синтаксиса, например «Вы не можете использовать» $ {«здесь, поскольку вы уже находитесь в режиме выражения FreeMarker. Таким образом, вместо $ {myExpression} просто напишите myExpression. ($ {...} требуется только где иначе статический текст ожидается, т. е. за пределами тегов FreeMarker и $ {...} - s.) « –

+0

спасибо, чувак, он работает ..... :) –

+0

@chellapandik не проблема (прошло несколько лет с тех пор, как я работал с freemarker, но я собираюсь вернуться к нему, так что было хорошо обновить мою память!) – Bohemian

 Смежные вопросы

  • Нет связанных вопросов^_^