Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在JSP中使用foreach comand时出现JSPTageException错误_Jsp_Foreach_Jstl - Fatal编程技术网

在JSP中使用foreach comand时出现JSPTageException错误

在JSP中使用foreach comand时出现JSPTageException错误,jsp,foreach,jstl,Jsp,Foreach,Jstl,我想我有一个关于在JSP文件上使用JSTL ForEach代码的一般性问题。items属性中的输出是否必须定义为数组 我目前在日志中收到一条错误消息,说这是一个JSPTageException:不知道如何在中迭代提供的项,我通常会这样键入迭代变量,然后像这样调用我的getter: <c:forEach var="row" items="${EFTresults}"> <jsp:useBean id="row" scope="page" type="the.path.to.the

我想我有一个关于在JSP文件上使用JSTL ForEach代码的一般性问题。items属性中的输出是否必须定义为数组


我目前在日志中收到一条错误消息,说这是一个JSPTageException:不知道如何在中迭代提供的项,我通常会这样键入迭代变量,然后像这样调用我的getter:

<c:forEach var="row" items="${EFTresults}">
<jsp:useBean id="row" scope="page" type="the.path.to.the.package" />
    <tr>
        <td><%= row.getSCHEDULE_NUMBER %></td>
        ...
    </tr>
</c:forEach>
if (wkScheduleNum != 0) 
            {
              Sum_EFTBean EFTresults = EFTQuery.selectSchedule(wkScheduleNum, wkContract) ;
              request.setAttribute("EFTresults", EFTresults);

              if (EFTresults.getSCHEDULE_NUMBER().equals(wkScheduleNum))
              {
                 request.setAttribute("EFTresults", EFTresults);
               }
              else
              {
                 message = ("no EFT schedule Number found - please try again");
                 request.setAttribute("message", message);
              }
            }  

    } 
    try {
        System.out.println("Before going to connection statement.  Continue");
        connection
                = DriverManager.getConnection(URL, USERNAME, PASSWORD);
        ps = connection.prepareStatement(query);
        ps.setInt(1, wkSchedule);
        ps.setInt(2, wkContract);
        rs = ps.executeQuery();
        System.out.println("Before checking the rs next part.  Continue");

        if (rs.next()) {

            System.out.println("Inside the recordset processing for SQL.  Continue");
            Sum_EFTBean results = new Sum_EFTBean() ;
            results.setSCHEDULE_NUMBER(rs.getInt("SCHEDULE_NUMBER"));
            results.setEFT_CONTRACT_YEAR(rs.getInt("EFT_CONTRACT_YEAR"));
            results.setCREATION_DATE(rs.getString("CREATION_DATE"));
            results.setNUM_OF_PAY_RECORDS(rs.getInt("NUM_OF_PAY_RECORDS"));
            results.setTOTAL_AMOUNT(rs.getDouble("TOTAL_AMOUNT"));
            results.setSTATUS(rs.getString("STATUS"));
            results.setSTATUS_DATE(rs.getString("STATUS_DATE"));
            results.setAPPR_HUD_EMPLOYEE(rs.getString("APPR_HUD_EMPLOYEE"));
            return results ; 
        } 
        else 
        {
            Integer EFTnotfound = 99999;
            Sum_EFTBean results = new Sum_EFTBean() ;
            results.setSCHEDULE_NUMBER(EFTnotfound);
            return results ; 
        }
    } 
    catch (SQLException e) 
    {
        System.err.println(e);

        DBUtil.closeResultSet(rs);
        DBUtil.closePreparedStatement(ps);
        return null;
    } 
    finally 
    {
        DBUtil.closeResultSet(rs);
        DBUtil.closePreparedStatement(ps);
        //            pool.freeConnection(connection);
    }
<c:forEach var="row" items="${EFTresults}">
<jsp:useBean id="row" scope="page" type="the.path.to.the.package" />
    <tr>
        <td><%= row.getSCHEDULE_NUMBER %></td>
        ...
    </tr>
</c:forEach>