Java 为什么我能';是否在嵌套迭代中对该数组的对象进行迭代?
我在将集合迭代到JSP页面时遇到以下问题 这是我的JSP的代码:Java 为什么我能';是否在嵌套迭代中对该数组的对象进行迭代?,java,arrays,jsp,arraylist,collections,Java,Arrays,Jsp,Arraylist,Collections,我在将集合迭代到JSP页面时遇到以下问题 这是我的JSP的代码: <%@ page import="com.myproject.xmlns.EDILM.SalReport.SalDettaglio" %> <%@ page import="com.myproject.xmlns.EDILM.SalReport.RM" %> <!-- showSalwf.jsp --> <html> <head> <title>Lib
<%@ page import="com.myproject.xmlns.EDILM.SalReport.SalDettaglio" %>
<%@ page import="com.myproject.xmlns.EDILM.SalReport.RM" %>
<!-- showSalwf.jsp -->
<html>
<head>
<title>Libretti</title>
<link href="css/business_thema.css" rel="stylesheet" type="text/css">
<link href="css/dataTables/datatable.css" rel="stylesheet" type="text/css">
<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery-ui.js"></script>
<script type="text/javascript" src="js/jquery-1.9.1.min.js"></script>
<style type="text/css">
#TabellaSalwf2 {
background-color: #99FFFF;
}
</style>
</head>
<body>
<%
out.println("TEST SALWF");
%>
<table id="TabellaSalwf">
<tr><td>-</td></tr>
<%
for (SalDettaglio salDettaglio : (SalDettaglio[]) request.getSession(false).getAttribute("salDettaglio")) {
%>
<tr>
<td><%=salDettaglio.getCodice()%></td>
<td><%=salDettaglio.getStato()%></td>
<td><%=salDettaglio.getDataCreazione()%></td>
<td><%=salDettaglio.getDataRegistrazione()%></td>
<td><%=salDettaglio.getAutoreConvalida()%></td>
<td><%=salDettaglio.getAutoreConvalida()%></td>
<td><%=salDettaglio.getAutoreAcquisizione()%></td>
</tr>
<%}%>
</table>
<br />
<table id="TabellaSalwf2" border="1">
<%
for (SalDettaglio salDettaglio : (SalDettaglio[]) request.getSession(false).getAttribute("salDettaglio")) {
%>
<tr id="salDettaglioRow">
<td><%=salDettaglio.getCodice()%></td>
<td><%=salDettaglio.getStato()%></td>
<td><%=salDettaglio.getDataCreazione()%></td>
<td><%=salDettaglio.getDataRegistrazione()%></td>
<td><%=salDettaglio.getAutoreCreazione()%></td>
<td><%=salDettaglio.getAutoreConvalida()%></td>
<td><%=salDettaglio.getAutoreAcquisizione()%></td>
<td><%=salDettaglio.getTotImponibile().toString()%></td>
<td><%=salDettaglio.getFornitore()%></td>
<td><%=salDettaglio.getRmConRiserva()%></td>
<td><%=salDettaglio.getErrore()%></td>
</tr>
<%
for (RM currentRM : salDettaglio.getRM()) {
}
%>
<%}%>
</table>
</body>
</html>
使用调试器,我看到saldetaglio.getRM()是一个包含2个RM对象的数组,但在调试器中说找不到“currentRM”的局部变量(必须将当前RM对象包含在检索到的数组中)
为什么它不起作用?如何解决此问题
Tnx您的内部循环中没有代码。因此,您不能将断点放在肯定要定义
currentRM
的任何位置。事实上,可以想象整个循环都被优化了。为什么不起作用?错误消息是什么?请显示一个产生错误的代码示例。您发布的代码没有使用currentRM
不要给我任何错误,但是在deugger中currentRM变量没有初始化,在deubugger中说“找不到'currentRM'的局部变量”,您将断点放在哪里?请将一些代码放入内部循环,然后重试。好的……将一些代码放入内部循环可以正常工作。我认为,如果对象上没有声明操作,那么该对象也已初始化。如果你想写一个正式的回复,我会接受的:-)
for (RM currentRM : salDettaglio.getRM()) {
// DO SOME OPERATIONS ON EACH OBJECT
}