Скажите, что у моего java-кода есть List<String> listS =null
, и я передаю это в свой файл шаблона.
Теперь я хочу убедиться, что if list has some data then only do something
.
Я пробовал
<#if listS = null>
AND
<#if !listS>
AND
<#if listS?size=0>
Но никто из них, похоже, не работает. У меня есть логика, я мой код Java; через которые, если какое-либо условие истинно, тогда я new
this listS
и заселяем его.
Следовательно, мне нужно знать, был ли заполнен listS
или только null, в моем файле шаблона.
Как мне это сделать? Спасибо.
EDIT: Кроме того, у меня есть список структур, каждый из которых содержит этот список, (заполняется или нет, это другая проблема), и я передаю весь список структуры, следовательно, передавая логическое значение в файл шаблона вместе с мой список структур невозможен, так как мне придется проходить в каждом списке, и этот обход, который я хочу сделать в самом файле шаблона.
EDIT 2: для тех, кто знает, что Java null, FreeMarker 2.3.x рассматривает их как отсутствующие значения. Просто, язык шаблонов не знает понятия null. Например, если у вас есть bean, у которого есть свойство maidenName, а значение этого свойства равно null, то это так же, как если бы не было такого свойства вообще, что касается шаблона (если вы не сделали 't настроил FreeMarker для использования какой-либо экстремальной оболочки объекта, то есть). Результат вызова метода, который возвращает значение null, также рассматривается как недостающая переменная (опять же, предполагая, что вы используете обычную обертку объекта). Подробнее см. В разделе "Вопросы и ответы".
Но я до сих пор не получил ответа, как заставить его работать, если я вообще могу.