【问题标题】:Freemarker - Only output xml tag if value is not emptyFreemarker - 如果值不为空,则仅输出 xml 标签
【发布时间】:2016-04-24 22:20:19
【问题描述】:

我正在使用 freemarker 生成有可能成为非常大的 XML - 用我正在维护的列表中的值替换占位符 ${placeholder}

我知道可以在每个 xml 标记的基础上执行以下操作

<placeholder>${placeholder}</placeholder>

这是一个不错的解决方案,但似乎必须为每个标签都这样做。

对于与一个文档相关的所有值,是否有更好的方法来执行此操作?

谢谢

【问题讨论】:

  • @AleksandrM 感谢您的回复,我不明白在该示例中,如果标签不包含任何文本,您可以如何省略标签
  • 在您的示例中,除了占位符之外,if 内没有其他元素。因此,将默认值设置为空字符串会得到几乎相同的结果。
  • @AleksandrM 所以你是说我不要输出整个&lt;placeholder&gt; 标签,我需要将其包装在 if 而不是内容中?
  • 如果我包装内容,它确实会省略标签,但我必须单独为永远标签做这个?

标签: java xml freemarker


【解决方案1】:

答案是将&lt;placeholder&gt;${placeholder}&lt;/placeholder&gt; 包装在 if 语句中并检查它是否为空

【讨论】:

    猜你喜欢
    • 2012-11-04
    • 2015-04-30
    • 2019-02-14
    • 1970-01-01
    • 2013-11-14
    • 2019-02-02
    • 2014-08-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多