2013-02-20 4 views
0

Я начинаю с Struts2, и мне нужна помощь в решении проблемы в моем теге IF.Struts2 tag При использовании IteratorStatus

Это мой код

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

В классе действий у меня есть это свойство:

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)

Заранее благодарим за помощь и вашу рекламу.

Микаэль

ответ

1

# перед тем warningFlag не нужен и у вас есть опечатка warningdFlag должны быть 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> 

%{...} обозначения на получение индекса состояния внутри test атрибут не требуется, поскольку test принимает выражение в качестве значения.

Также смотрите эту ссылку: http://struts.apache.org/development/2.x/docs/ognl.html.

+0

Привет, Александр, я применил ваш совет, но у меня такой же результат. –

+0

@OurtaauMickael: Вам нужно удалить '% {...}' из elseif. Пропустил это в первый раз. См. Обновление. –

+0

Это работает. Спасибо. Я не нашел в документации на стойку никакой информации об атрибуте «test» в теге IF. Когда я ставлю% {}? что означает # ?. Я использовал JSTL TAG 6 лет назад, но я забыл все свои знания об этом. Если у вас есть туто или ссылка для моего ... –

Смежные вопросы