1

在我的示例中,参数是:

$p2.length

其值为“ 0

和布尔值

$suspectYesNo设置为“ false ”。

我希望,在我的代码中,由于我设置的参数,第二个#elseif将运行,但是它显示“代码 4 运行”

我想,我的错误是使用“ && ”连接两个条件,但我不知道如何正确定义具有两个条件的行。

这让我想到了一个问题:如何将这两个条件 ($p2.length()==0) AND ($suspectYesNo.value.contains("true")) 正确组合在一个 #elseif() 中。

或者我是否定义了布尔错误?

  #if($p2.length()>0)

  Code 1 runs

  #elseif($p2.length()==0 && $suspectYesNo.value.contains("true"))

  Code 2 runs

  #elseif($p2.length()==0 && $suspectYesNo.value.contains("false"))

  Code 3 runs

  #else

  Code 4 runs

  #end
4

1 回答 1

1

感谢 user7294900 为我提供了可以解决问题的参考。

它没有将布尔值读取为字符串,这可以通过添加“toString()”方法来修复。

使用此代码,它可以按需要工作:

  #if($p2.length > 0)

  Code 1 runs

  #elseif($p2.length == 0 && $suspectYesNo.value.toString().contains("true"))

  Code 2 runs

  #elseif($p2.length == 0 && $suspectYesNo.value.toString().contains("false"))

  Code 3 runs

  #else

  Code 4 runs

  #end
于 2018-10-02T09:28:59.323 回答