我有一张桌子,我想要对这些线进行编号。
在我的jsp中,我有类似的东西:
<%! int i = 0; %>
<c:forEach items="${clients}" var="client">
<tr>
<td align="center"><%= ++i %></td>
<td><c:out value="${client.nomPrenom}"/></td>
....
我的问题是当我刷新页面时,变量i没有重置为0.继续++
我做错了什么?
答案 0 :(得分:2)
你可以使用jstl做到这一点,因为几十年来不建议使用scriplet
<c:forEach items="${clients}" var="client" varStatus="loop">
<tr>
<td align="center"><c:out value="${loop.index}" /></td>
<td><c:out value="${client.nomPrenom}"/></td>
</tr>
</ c:forEach>
请参阅How to avoid Java code in JSP files?以了解有关使用jstl和EL
的更多信息答案 1 :(得分:1)
您的JSP由服务器容器转换为servlet。每次刷新页面时都会调用_jspService
。
将JSP转换为servlet代码:
public class HelloWorld2$jsp extends HttpJspBase {
//code declare inside <%! %> method goes here
public void _jspService(HttpServletRequest request,
HttpServletResponse response)
{
// code declare inside <% %> method goes here
}
}
而不是
<%! int i = 0; %>
使用以下代码:
<% int i = 0; %>