我正在使用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>
<%
}
}
%>
答案 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>