2013-03-26 3 views
0

У меня есть запрос БД из базы данных в файле класса:Устройте результат итерацию в таблице JSP

List srActionList = hibernate_session.createQuery("from SrActionModal where srReportShow = 'Y' order by actDesc").list(); 

ArrayList dataResultList = new ArrayList(); 
SrActionModal status = new SrActionModal(); 

for (int i = 0; i < srActionList.size(); i++) { 
    status = (SrActionModal) srActionList.get(i); 
    status.setActDesc(status.getActDesc()); 
    dataResultList.add(status); 
} 
session.setAttribute("srActionList", dataResultList); 

И я хотел бы показать srActionList атрибут в таблицу. В настоящее время мой вывод похож на ниже;

<logic:iterate id="list" name="srActionList"> 
<html:multibox property="selectedAction"> 
    <bean:write name="list" property='code'/> 
</html:multibox> 
<bean:write name="list" property='actDesc'/> 
    </logic:iterate> 

Вопрос в том, как организовать результат в таблице для лучшей компоновки? Предельный столбец на строку равен 2. Если результат равен 10, то будет 5 строк, которые содержат 2 столбца на строку.

<table> 
    <tr> 
     <td>list 1</td> <td>list 2</td> 
    </tr> 
    <tr> 
     <td>list 3</td> <td>list 4</td> 
    </tr> 
    </table> 

ответ

0

Вы можете получить атрибут indexId в контексте контекста страницы и проверить его на делимость на 2; затем вставьте TR-тег для нечетных значений и end-TR-tag для четных значений. Что-то вроде этого:

<table> 
    <logic:iterate id="list" name="srActionList" indexId="index"> 
     <% Integer index = (Integer) pageContext.getAttribute("index"); 
     /* If not divisible by 2 then insert a table row marker */ 
     if (index.intValue() % 2 == 1) { %> 
     <tr> 
     <% } %> 
     <td> 
     <html:multibox property="selectedAction"> 
     <bean:write name="list" property='code'/> 
      </html:multibox> 
     <bean:write name="list" property='actDesc'/> 
     </td> 
     <% Integer index = (Integer) pageContext.getAttribute("index"); 
     /* If divisible by 2 then insert a table row end marker */ 
     if (index.intValue() % 2 == 0) { %> 
     </tr> 
     <% } %> 
    </logic:iterate> 
    </table> 
Смежные вопросы