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)有效。但不是第二个(使用warningFlag)

提前感谢您的帮助和您的广告。

迈克尔

4

1 回答 1

1

#之前warningFlag不需要,你有错字应该warningdFlagwarningFlag.

<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 回答