比较迭代器中的字符串的问题

时间:2013-07-30 16:15:01

标签: string jsp testing struts2 iterator

我在比较迭代器中的字符串时遇到问题 JSP:

<s:iterator value="piecesTxt">
   <s:if test="top.equals('_')">
      <s:textfield name="solIntrod" theme="simple" size="2" maxlength="1"/>
   </s:if>
   <s:else>
      <s:property/>
   </s:else>
 </s:iterator>

piecesTxt是一个包含以下内容的列表:   - 文字。   - 间隙,在List中存储字符串“_”

JSP将“_”显示为文本:

El ot _ o d _ a f _ imos a na _ egar en un _ ate.

我也尝试过:

<s:if test="top == '_'">
Including in s:iterator var="pt"
<s:if test="pt == '_'"> 
<s:if test="pt.top == '_'">
<s:if test="pt.charAt(0) == '_'">

其他迭代器文本有效,但事实并非如此。有任何想法吗? 提前谢谢。

1 个答案:

答案 0 :(得分:2)

OGNL将单引号中的单个字符解释为char,而不是String

使用双引号:

<s:if test='top.equals("_")'>

有关详细信息,请参阅Why won't the 'if' tag evaluate a one char string