.jsp页面中报空指针异常

img


出错部分代码
records传出的值为空,试过添加<c:if test="${records!=0}"等的条件,还是没用

img

没有获取到records的值,确认一下request.setAttribute方法设置的变量名称是否为records,注意区分大小写。

那要看你equest.setAttribute("records“,records);中第二个参数传递的值了

RecordDao的部分代码

  public List<Record>getRecordsByMemberId(long memberId)throws SQLException{
        Connection conn=DBHelper.getConnection();
        String sql="select * from record where memberId=?and backDate is null";
        List<Record> records=runner.query(conn,sql,new BeanListHandler<Record>(Record.class),memberId);
        DBHelper.close(conn);
        return records;
    }
    //根据身份证号查用户借阅信息
    public List<Record> getRecordsByIdNum(String idNum) throws SQLException {
        Connection conn = DBHelper.getConnection();
        String sql ="select * from record where memberId = (select id from member where idNumber = ?)";
        List<Record> records = runner.query(conn,sql,new BeanListHandler<Record>(Record.class), idNum);
        DBHelper.close(conn);
        return records;
    }

recordBiz的部分代码


```java
public List<Record> getRecordsByMemberId(long memberId) {
        List<Record> records = null;
        try {
            records = recordDao.getRecordsByMemberId(memberId);
            //外键信息
            Member member = memberBiz.getById(memberId);
            for(Record record:records){
                long bookId = record.getBookId();
                Book book = bookDao.getById(bookId);
                record.setBook(book);
                record.setMember(member);
                //应还时间 ,借阅时间+keeyDay
                long day = member.getType().getKeepDay();
                //做时间的计算(Java)
                java.sql.Date  rentDate = record.getRentDate();
                //转成毫秒数
                java.sql.Date backDate = DateHelper.getNewDate(rentDate,day);
                record.setBackDate(backDate);
            }

        } catch (SQLException throwables) {
            throwables.printStackTrace();
        }
        return records;
    }

```