Подтвердить что ты не робот

Как проверить нулевой список в freemarker

Скажите, что у моего 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, также рассматривается как недостающая переменная (опять же, предполагая, что вы используете обычную обертку объекта). Подробнее см. В разделе "Вопросы и ответы".

Руководство Freemarker

Но я до сих пор не получил ответа, как заставить его работать, если я вообще могу.

4b9b3361

Ответ 1

Используйте has_content встроенный:

<#if list5?has_content>