Struts 2 <s:if> 包含 () 方法不适用于具有多个单词的字符串



如果这个人的帐户过期了,我有下面的代码来打印消息。(本例中的警告= "您的帐户已过期")

<s:if test="%{#alert.contains('past due')}">

代码不工作。但是如果我把空格和第二个单词像这样抽出来:

<s:if test="%{#alert.contains('past')}">

代码似乎工作正常,消息被打印出来。

你能不能试试

<s:if test="%{#alert.indexOf('past due')>0}">

测试问题是否与contains()方法的CharSequence参数有关(但是除了单字符字符串之外应该有效)

请注意,如果alert字符串来自Action的getter,则不需要#符号,因为它被压在堆栈的顶部

代码工作良好,但要获得子字符串的匹配更好地使用matches()方法。

<s:if test="#alert.matches('.*past due.*')">  

最新更新