Jsf 如何在JSL EL中使用fn:contains不区分大小写?
我试图找出一个字符串是否包含另一个字符串。但不幸的是,Jsf 如何在JSL EL中使用fn:contains不区分大小写?,jsf,el,contains,uppercase,lowercase,Jsf,El,Contains,Uppercase,Lowercase,我试图找出一个字符串是否包含另一个字符串。但不幸的是,fn:contains函数区分大小写。有没有办法使它不区分大小写 我试着把两者都放在一个案例中: fn:contains(car.color.toLowerCase(), smartBean.txt.toLowerCase()) ? 'true' : 'false' 但由于方法的括号,它无法工作。我也不能在f:contains函数中使用f:to-upper。有一个。用它来代替 {fn:containsIgnoreCase(car.color
fn:contains
函数区分大小写。有没有办法使它不区分大小写
我试着把两者都放在一个案例中:
fn:contains(car.color.toLowerCase(), smartBean.txt.toLowerCase()) ? 'true' : 'false'
但由于方法的括号,它无法工作。我也不能在f:contains
函数中使用f:to-upper
。有一个。用它来代替
{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:大写,fn:小写-不再看到ignoreCase选项,但是如果您将其转换为一种或另一种方式进行比较,它将起作用