Java 为什么我能';是否在嵌套迭代中对该数组的对象进行迭代?

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

我在将集合迭代到JSP页面时遇到以下问题

这是我的JSP的代码:

<%@ 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
}