【问题标题】:IF statement for one variable with multiple values一个具有多个值的变量的 IF 语句
【发布时间】:2019-03-18 18:39:13
【问题描述】:

有没有更好的方法来编写这个 IF 语句来测试变量的多个选项?

<#if PRINTER_PET.RETAILER_NAME = 'BEST BUY' || PRINTER_PET.RETAILER_NAME = 'Best Buy Purchasing LLC'>
document 1 
<#elseif  PRINTER_PET.RETAILER_NAME = 'AMAZON' || PRINTER_PET.RETAILER_NAME = 'Amazon Fulfillment Services Inc Attn: Amazon.com' >
document 2
</#if>

谢谢, 埃里卡

【问题讨论】:

    标签: freemarker multiple-value responsys


    【解决方案1】:

    您可以将PRINTER_PET.RETAILER_NAME 提取到一个变量中,例如&lt;#assign retName = PRINTER_PET.RETAILER_NAME&gt;,然后它会更短一些(&lt;#if retName == 'foo' || retName == 'bar'&gt; 等)。此外,如果您有很多字符串要比较,&lt;#if ['foo', 'bar', 'baaz']?seq_contains(retName)&gt; 可能会更好。

    【讨论】:

    • ddekany,非常感谢!!!这就是我一直在寻找的。我很难通过在线文档弄清楚如何做到这一点。正在向后分配...将变量放在那里而不是数据位置。我最终使用了您的第二个 IF 。再次感谢,埃里卡
    【解决方案2】:

    关注 Freemrker Comparison 示例并使用 =="

    <#if PRINTER_PET.RETAILER_NAME == "BEST BUY" || PRINTER_PET.RETAILER_NAME == "Best Buy Purchasing LLC">
    document 1 
    <#elseif  PRINTER_PET.RETAILER_NAME == "AMAZON" || PRINTER_PET.RETAILER_NAME == "Amazon Fulfillment Services Inc Attn: Amazon.com" >
    document 2
    </#if>
    

    &lt;#if ...&gt; 中的user == "Big Joe" 表达式将计算为布尔值true,因此上面会显示“It is Big Joe”。

    逻辑或:||

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-25
      • 1970-01-01
      • 2021-02-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多