0

我在迭代器 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 是一个列表,其中包含: - 文本片段。- 间隙,存储在列表中的字符串“_”

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) == '_'">

其他迭代器文本有效,但这不起作用。有任何想法吗?提前致谢。

4

1 回答 1

2

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

使用双引号:

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

有关详细信息,请参阅为什么 'if' 标记不会评估单字符字符串

于 2013-07-30T16:18:17.830 回答