Как обращаться с null
значениями в Freemarker? Я получаю некоторые исключения в шаблоне, когда в данных присутствуют значения null
.Обработка нулевых значений в Freemarker
ответ
Вы можете использовать ??
тест оператора:
Проверяется, если атрибут объекта не равно нулю:
<#if object.attribute??></#if>
Проверяется, если объект или атрибут не является нулевым:
<#if (object.attribute)??></#if>
Источник: FreeMarker Manual
В чем разница между этим подходом и has_content ?? –
'has_content', рядом с проверкой нуль, также проверяет, не пустое значение. Это работает для строк, последовательностей, хэшей или коллекций. Если объектом является дата, логическое или число, то оно действует как непустое. Для всех остальных типов он будет действовать как пустой. –
У меня есть эта проблема, когда мне нужно проверить, является ли значение в bean-компоненте null.I пробовал следующее: $ {checknull (Bean.getValue())}, где checknull, если функция <#function checknull x> <#if x??> <#return ""> <#else> <#return x> #if> #function> но я получаю «Ошибка выполнения макроса: checknull требуется параметр: х не определен.» Ошибка –
Я думаю, что он работает по-другому
<#if object.attribute??>
Do whatever you want....
</#if>
Если object.attribute
является NOT NULL, то содержимое будет распечатана.
Начиная с FreeMarker 2.3.7, вы можете использовать this syntax:
${(object.attribute)!}
или, если вы хотите отобразить текст по умолчанию, когда атрибут null
:
${(object.attribute)!"default text"}
Для тех, кто использует Freemarker в качестве шаблона двигателя для XDocReport, это работает после добавления '
Как вы это делаете, если у вас есть дата и дата может быть нулевой? Другими словами, object.dateAcquired, где dateAcquired может быть нулевым, и у вас есть $ {object.dateAcquired? Date} –
@StephaneGrenier использовать '$ {(object.dateAcquired? Date)!" Not present "}' –
Использование ??
оператор в конце вашего заявления <#if>
.
В этом примере показано, как обрабатывать значения null
для двух списков в шаблоне Freemaker.
List of cars:
<#if cars??>
<#list cars as car>${car.owner};</#list>
</#if>
List of motocycles:
<#if motocycles??>
<#list motocycles as motocycle>${motocycle.owner};</#list>
</#if>
- 1. Обработка нулевых значений при печати списка с помощью Freemarker?
- 2. C# Обработка нулевых значений
- 3. Обработка нулевых значений в datagrid
- 4. Обработка нулевых значений в контроллере
- 5. Обработка нулевых значений в protobuffers
- 6. Обработка нулевых значений в SSIS
- 7. WSO2 CEP + Обработка нулевых значений
- 8. Обработка нулевых значений на улей
- 9. Обработка нулевых значений из ResultSet
- 10. Обработка нулевых значений в GetSQLDateTime и GetSQLMoney
- 11. Обработка нулевых значений даты в запросах Access
- 12. MySQL Обработка нулевых значений в режиме -batch
- 13. Обработка нулевых значений в MVC Model
- 14. Обработка нулевых значений в параметрах OracleCommand
- 15. Обработка нулевых значений в прогнозах запросов
- 16. Обработка нулевых значений в веб-галерее MVC3
- 17. Обработка нулевых значений в NHibernate LINQ
- 18. Обработка нулевых значений в Informatica плоских файлах
- 19. Обработка нулевых значений в разделе SQL IN
- 20. Обработка нулевых значений в asp.net mvc DisplayForModel
- 21. Обработка нулевых значений в динамических полях поворота
- 22. Обработка нулевых значений с помощью wso2 CEP
- 23. Linq to DataSet - обработка нулевых значений
- 24. Обработка нулевых значений при вычислении среднего значения?
- 25. обработка ошибок в Freemarker
- 26. Freemarker - предварительная обработка шаблона
- 27. Freemarker/Velocity - обработка даты
- 28. MVC - Обработка нулевых значений (исключение NullReferenceException) в DropDownListFor
- 29. Обработка нулевых значений и дубликатов записей в SQL Server
- 30. Обработка неназначенных (нулевых) значений категориальных признаков в регрессии (машинное обучение)?
Можно создать дубликат: http://stackoverflow.com/questions/306732/how-to-check-if-a-variable-exists-in-a-freemarker-template – cowls