如何从Bean对象的ArrayList显示Bean属性?

时间:2013-03-04 12:38:27

标签: jsp struts jstl

我正在使用struts 1.3。在我的动作类中,我从DB访问数据并在Bean类对象中设置值(每行一个对象)。最后,我在ArrayList对象中添加对象。 现在在我的jsp中我需要显示这个数据(Bean属性值)。 我使用scriptlet做到了这一点,它的工作正常。但我只想使用标签(按照标准方式推荐)。 任何人都可以提供一些想法如何使用<logic:iterate><nested:iterate>可能正常工作吗?

这是我的jsp代码:

<% AppForm fm; %>
   <% Iterator itr; int i=0;
    ArrayList al=(ArrayList)request.getAttribute("data");
    System.out.println("ArrayList size is..."+al.size());
    if(al!=null)
    {
        for(itr=al.iterator(); itr.hasNext();i++)
        {
           fm=(AppForm)itr.next();
         %>
         <tr  id=i  onclick="toggle(this)" bgcolor="pink">
          <td align="center">
           <%= fm.getRegid() %>
          </td>
          <td align="center">
           <%= fm.getEid() %>
          </td>
          <td align="center">
           <%= fm.getFname() %>
          </td>
          <td align="center">
           <%= fm.getLname() %>
          </td>
          <td align="center">
           <%= fm.getDesignation() %>
          </td>
          <td align="center">
           <%= fm.getEmail() %>
          </td>
          <td align="center">
           <%= fm.getContact() %>
          </td>
          <td align="center">
           <%= fm.getAddress() %>
          </td>
          <td align="center">
           <%= fm.getQualification() %>
          </td>
          <td align="center">
           <%= fm.getJdate() %>
          </td>
          <td align="center">
           <%= fm.getReqdate() %>
          </td>
          <td align="center">
           <%= fm.getIpaddress() %>
          </td>
          <td align="center">
           <input type="radio" name="<%= fm.getEid() %>" value="approved" onclick="this.parentNode.parentNode.bgColor='DarkOliveGreen'"; />
          </td>
          <td align="center">
           <input type="radio" name="<%= fm.getEid() %>" value="rejected" onclick="this.parentNode.parentNode.bgColor='Orchid'"; />
          </td>

    </td>
         </tr> 
         <%
        }
    }
   %>

2 个答案:

答案 0 :(得分:1)

试试这个

<c:forEach var="i" items ="${data}">
  <tr>
     <td>${i.eId}</td>
     <td>${i.lName}</td>
     ....................
  </tr>
</c:forEach>

答案 1 :(得分:1)

与struts标签相同的版本

<logic:iterate id="item" name="data" indexId="idx">
  Row index: <bean:write name="idx"/>
  <bean:write name="item" property="eid"/>
  <bean:write name="item" property="fname"/>
</logic:iterate>