java - 刷新时重置 scriplet 变量

标签 java jsp scriptlet

我有一个表格,我希望对行进行编号。

在我的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。它继续++

我做错了什么?

最佳答案

您可以使用 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 的更多信息

关于java - 刷新时重置 scriplet 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26113425/

相关文章:

java - 将 ThreadLocal 类传递给另一个线程?

java - 如何从 jar 库中包含 JSP

javascript - Struts 1 操作未在 jsp 中的 javascript 函数内调用

在按钮事件调用之前调用 JavaScript 函数

java - 在 scriptlet 中访问 struts bean 属性

java - 如何在 Netbeans 中打开 UTF-8 格式的文件;不扭曲字符?

java - 我的随机数组给了我相同的答案,而它应该是不同的

java - DateTimeFormatter.ISO_OFFSET_DATE_TIME 的等效格式字符串是什么?

java - 尝试显示 jsp 时出现 404 错误

java - jsp设置变量变量名