1

ある文字列に別の文字列が含まれているかどうかを調べようとしています。ただし、残念ながら、fn:contains関数は大文字と小文字を区別します。大文字と小文字を区別しないようにする方法はありますか?

私は両方を1つのケースに入れようとしました:

fn:contains(car.color.toLowerCase(), smartBean.txt.toLowerCase()) ? 'true' : 'false'

しかし、メソッドの括弧が原因で機能しませんでした。f:to-upper内部f:contains関数も使用できません。

4

2 に答える 2

2

があり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'関数によって既に返されているため、この部分は完全に不要であることに注意してください。

于 2012-08-01T11:35:55.960 に答える
1

これを見つけたばかりの人にとっては、@BalusCの答えは正しいですが、構造が変更されています.fn:upper-case、fn:lower-caseのみを参照してください-ignoreCaseオプションはもう表示されませんが、何らかの方法でキャストすると比較すると、うまくいきます。

于 2020-11-16T15:55:47.313 に答える