带有“或”运算符或“ in”功能的EL表达式

问题描述 投票:0回答:1

我想设置一个EL表达式,如果值是1或2,则将启用或不启用一个字段

#{bindings.ReqBuId.inputValue==1} || {bindings.ReqBuId.inputValue==2} ? true : false

此表达式有效吗?其次,我可以在EL中使用“输入”功能吗?

关于,托马斯

el
1个回答
0
投票

不,您的表达无效。使用:

${bindings.ReqBuId.inputValue == 1 or bindings.ReqBuId.inputValue == 2}

我假设您正在使用Integer值。如果您使用的是String值,请使用:

${bindings.ReqBuId.inputValue == '1' or bindings.ReqBuId.inputValue == '2'}

[EL中没有in,但是您可以使用CollectionObject,然后使用contains(yourObject)。在EL 3.0+中,您可以像这样:

${[1,2].contains(bindings.ReqBuId.inputValue)}

${['1','2'].contains(bindings.ReqBuId.inputValue)}

取决于类型。

© www.soinside.com 2019 - 2024. All rights reserved.