Как создать самозакрывающиеся XML-элементы с помощью шаблона Apache Velocity, если значение равно нулю или пусто - PullRequest
0 голосов
/ 18 июня 2019

Есть ли более короткий способ создания элементов xml с использованием Apache Velocity, с элементами с самозакрывающимися тегами, если значение равно нулю или пусто.

Однако этого можно достичь, указав - #if #else #end,но мне нужен более короткий способ сделать это, так как мне нужно использовать его несколько раз в шаблоне.

            #if( $stu.libno )
                <libno>$stu.libno</libno>
            #else
                <libno />
            #end

1 Ответ

0 голосов
/ 20 июня 2019

Кажется хорошим вариантом использования макроса:

#macro( optionalTag $tagName $value )
  #if( $value )
    <$tagName>$value</$tagName>
  #else
    <$tagName/>
  #end
#end

, который вы можете определить в начале ваших шаблонов или в общем глобальном файле макробиблиотеки. Затем вы можете сделать:

#optionalTag( 'libno', $stu.libno )
...