3

イテレータでStrutsifタグを使用しようとしていますが、機能しません。

このためのコードは次のとおりです。

<s:iterator status="i" value="pages" >
   <s:set var="kk" value="<s:property />" />     
                
   <s:if test="%{(#kk<5)}">
      Hello
   </s:if><s:else>
      Hi
   </s:else>                        
</s:iterator>

pagesリストは整数のリストです。

上記のコードは、値が5未満のHello場合に出力されますが、のすべての値に対して出力されます。pagespages

4

3 に答える 3

3

OGNL、jstl などには非常に多くのオプションがあるため、値を取得するのは悪夢になる可能性があります。%{}これを試してみてください。次の場合は必須ではないと思います

<s:iterator id="page" value="pages">
   <s:if test="#page < 5">Hello</s:if> <!-- or <s:if test="%{#page < 5}"> -->
   <s:else>Hi</s:else>
</s:iterator>
于 2013-01-19T08:24:14.027 に答える
1

使用する必要があります

<s:set name="kk"  value="0" />

それ以外の

<s:set var="kk"  value="<s:property />" />

<s:strutsタグの属性にタグを使用しないでください

<s:set name="kk" value="0"/>
<s:iterator status="i" value="bloglist" >
  <s:set name="kk"  value="%{#kk+1}" />
  <s:if test="%{(#kk<2)}">
    Hello<br>
  </s:if>
  <s:else>
  Hi<br>
</s:else>
</s:iterator>
于 2013-01-19T09:04:53.257 に答える
0

を使用する必要もありません<s:set>

Iterator力を十分に活用するだけです。

 <s:iterator var="itr" status="ctr" value="pages" >    
    <s:if test="%{itr[#ctr] < 5}">
       Hello
    </s:if><s:else>
       Hi
    </s:else>    
 </s:iterator>
于 2013-01-19T14:35:23.227 に答える