【问题标题】:How to show or hide a TR tag in Antlr String Template using If Else如何使用 If Else 在 Antlr 字符串模板中显示或隐藏 TR 标签
【发布时间】:2016-09-01 12:25:05
【问题描述】:

以下是我苦苦挣扎的 antlr 字符串模板代码。我有一个属性 Item.AmountPaid 可能有数据(或)有时可能是空白的。因此,当它没有数据时,我应该显示 Disabled TR 并隐藏 Enabled TR,反之亦然。我面临的问题是属性是否有数据,每次只执行 IF 语句。请让我知道您的宝贵建议。感谢您的帮助!

       $ 
       orders: { Item|
       $if(Item.AmountPaid)$
       <tr class="Enabled">
         <td>$Item.AmountPaid$</td>
         <td>$Item.Name$</td>
         <td>$Item.City$</td>
       </tr>

      $else$
        <tr class="Disabled">
          <td>$Item.AmountPaid$</td>
          <td>$Item.Name$</td>
          <td>$Item.City$</td>
        </tr>
      $endif$
      }
      $

【问题讨论】:

  • StringTemplates 与 ANTLR 完全无关。 ST 是 ANTLR 使用的独立库。
  • AmountPaid 是什么数据类型?如果项目是布尔类型,if(item) 对我来说很好。我相信 ST 只能测试空值,否则不能测试空值。
  • 嗨,迈克,感谢您的回复。你是仪式,ST 只测试空(或)非空值。 AmountPaid 是字符串数据类型,有时我们会得到空值。但是在将空值而不是空值传递给这个字符串属性之后{这只是在你发表评论后才让我印象深刻:)},它起作用了!再次感谢!
  • 好的,那我给你一个合适的答案,你可以接受。

标签: stringtemplate


【解决方案1】:

if(expression) 子句中的检查仅适用于布尔值、null 或非空值,但不适用于例如对于空字符串。因此,请确保使用的表达式是这些构造之一。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-01
    • 1970-01-01
    • 2011-12-09
    • 2013-02-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多