我试图找出一个字符串是否包含另一个字符串。但是,不幸的是,fn:contains
函数是区分大小写的。有没有办法让它不区分大小写?
我试图将两者都放在一个案例中:
fn:contains(car.color.toLowerCase(), smartBean.txt.toLowerCase()) ? 'true' : 'false'
但由于方法的括号,它不起作用。我也不能使用f:to-upper
内部f:contains
功能。
有一个fn:containsIgnoreCase()
。只需使用它。
#{fn:containsIgnoreCase(car.color, smartBean.txt)}
顺便说一句,您失败的toLowerCase()
尝试应该如下完成:
#{fn:contains(fn:toLowerCase(car.color), fn:toLowerCase(smartBean.txt))}
使用toUpperCase()
效果也很好:
#{fn:contains(fn:toUpperCase(car.color), fn:toUpperCase(smartBean.txt))}
也许你刚刚犯了一个 EL 语法错误。
请注意,该? 'true' : 'false'
部分是完全多余的,因为它已经由函数返回。
对于那些刚刚发现这一点的人,@BalusC 的答案是正确的 - 但结构已经改变,只看到 fn:upper-case, fn:lower-case - 不再看到 ignoreCase 选项,但如果你以一种或另一种方式投射它比较,它会工作。