0

Struts2 から始めていますが、IF タグの問題を解決するために助けが必要です。

この私のコード

public class InventoryRow {
    private String title;
    private int[] qty = new int[5];
    private boolean[] warningFlag = new boolean[5];
}

Action クラスには、次のプロパティがあります。

private List<InventoryRow> parts = new ArrayList<InventoryRow>();

私の JSP では、qty[] 値または warningFlag[] 値に応じて異なるスタイルを適用したいと考えています。

<s:iterator value="parts" var="product">  
    <tr>
        <td><s:property value="title" /></td>
        <s:iterator value="qty" var="val" status="idStatus">  
            <td class="qty <s:if test="#val==-99"> none</s:if>
                   <s:elseif test="#warningdFlag[%{#idStatus.index}] == true"> warning</s:elseif>
                           " >
                <s:property />
            </td>     
        </s:iterator> 
   </tr> 
</s:iterator>

最初のテスト (-99 に等しい) は機能します。しかし、2番目のものではありません(warningFlagを使用)

あなたの助けとあなたの広告を前もってありがとう.

ミカエル

4

1 に答える 1

1

#beforewarningFlagは不要で、タイプミスがありますwarningdFlagbe warningFlag.

<s:iterator value="parts">  
    <tr>
        <td><s:property value="title" /></td>
        <s:iterator value="qty" var="val" status="idStatus">  
            <td class="qty <s:if test="#val==-99"> none</s:if>
                   <s:elseif test="warningFlag[#idStatus.index]"> warning</s:elseif>" >
                <s:property />
            </td>     
        </s:iterator> 
   </tr> 
</s:iterator>

式を値として取るため、属性%{...}内のステータス インデックスを取得する表記は必要ありません。testtest

次のリンクも参照してください: http://struts.apache.org/development/2.x/docs/ognl.html

于 2013-02-20T09:43:56.147 に答える