У меня есть XML-документ, переданный от имени root шаблону Freemarker. Я хочу, чтобы некоторые значения из этого XML были присвоены переменным в виде строки, а затем объединены / распечатаны.
<#assign MyVar = root.child1.child2.child3.mynode>
Проблема здесь в том, что даже когда путь не существует, MyVar
присваивается с последовательностью + хеш, который не может быть распечатан или преобразован в строку. Эта переменная, хотя и возвращает false для ?has_content
, для этих проверок требуется дополнительный шаг, и у меня та же проблема со многими переменными, а также между файлами шаблонов и модулями.
Единственное решение, которое мне удалось найти, было
<#assign MyVar = root.child1.child2.child3.mynode>
<#assign MyVar = MyVar ?has_content?then(MyVar , "")>
Я ищу что-то вроде оператора значения по умолчанию , который также проверяет наличие нулей, таких как ?has_content
.
Предоставляет ли Freemarker более простую однострочную функцию для проверки отсутствия содержимого в переменной и присвоения ей значения по умолчанию?