3

<s:if>タグについては次の疑問があります。文字列である変数があり、<s:if>タグを使用してこの文字列の一部を比較する必要があります。私はそれを行うことができますか?, 私は例を意味します:

<s:iterator value="datosPedido" status="itStatus">
          <s:set name="datosPedidoServV" value="%{descripcion[#itStatus.index]}" />
            <s:if test="%{descripcion!='Servidor Virtual ('}">
          Hola
         </s:if>
 .
 .

この説明は、Server Virtual よりも長い (....しかし、説明に文字列のこの部分が含まれているかどうかを確認する必要があります。この方法で正しいでしょうか?.

ありがとう

4

1 に答える 1

2

==と比較することもでき!=ます。

Java メソッドと比較することもできます。たとえば、.equals("")または を使用します。.equalsIgnoreCase("")

あなたの場合、ある文字列に別の文字列が含まれているかどうかを確認している場合は、使用する必要があります.indexOf("")

<s:if test="descripcion.indexOf('Servidor Virtual (') != -1">

また.contains("")

<s:if test="descripcion.contains('Servidor Virtual (')">

1文字の長さの文字列を操作する場合、1つの制限があることに注意してください。その場合、単一引用符の代わりに二重引用符を使用する必要があります。そうしないと、OGNL はそれが Char であると判断し、char と String を比較しようとして失敗します。

詳細はこちら: http://struts.apache.org/2.3.4/docs/why-wont-the-if​​-tag-evaluate-a-one-char-string.html

于 2012-12-13T09:11:48.820 に答える