<%@ page language="java" import="java.util.*" pageEncoding="utf-8"%>
<%@page import="com.lpy.BookInfo"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<body>
<%                  request.setCharacterEncoding("utf-8");
com.lpy.BookInfo book = null;
if(request.getAttribute("book")==null){
book = new com.lpy.BookInfo();
request.setAttribute("book", book);
} else {
                         book = request.getAttribute("book");
                   } %>
</body>
</html>报  org.apache.jasper.JasperException: Attempted a bean operation on a null object.

解决方案 »

  1.   

    request.getAttribute("book") //这个代码如果book不存在就会报异常
      

  2.   


    用JAVA代码来操作不就是这么写吗,到底哪错了??
      

  3.   


    你有request.setAttribute("book",object); 吗 ? 没有就会报错
      

  4.   

     else {
                             book = request.getAttribute("book");
                       }这里要强转成 book =(BookInfo) request.getAttribute("book");
      

  5.   

    request.getAttribute("book",Object)这个应该是没有错的~即使他没有这book属性他也能返回null不会报错的吧~~~
    他的问题可能是之前book置null了,在if语句中对book操作的问题吧~
      

  6.   


    判断是否有这个"book"对象不应该有错啊。
    session对象不也是这样的吗?   不太明白。再说我也有request.setAttribute("book", book); 语句啊
      

  7.   

    book = new com.lpy.BookInfo();
    貌似你只把BOOK实例化了但是没有给BOOK赋值,这时候的BOOK仍然是NULL
      

  8.   

    不对额。。
    实例化后应该也是不会报错的奇怪,除非是BookInfo得问题,放出来的那段,除了没有强制转换外,应该是没有语法错误的。可是没有强制转换应该不是那个报错额= =
      

  9.   

    package com.lpy;public class BookInfo {
    public String getBookname() {
    return bookname;
    }
    public void setBookname(String bookname) {
    this.bookname = bookname;
    }
    public String getAuthor() {
    return author;
    }
    public void setAuthor(String author) {
    this.author = author;
    }
    public long getPrice() {
    return price;
    }
    public void setPrice(long price) {
    this.price = price;
    }
    public boolean isSale() {
    return sale;
    }
    public void setSale(boolean sale) {
    this.sale = sale;
    }
    String bookname;
    String author;
    long price;
    boolean sale;
    }这是BEAN代码。。
      

  10.   

    我在实验的时候  else { book = request.getAttribute("book"); } 删掉了。也不行。
    即使把所有的都删掉,只用了  request.getAttribute("book"); 这么一句也不好使。
      

  11.   

    必须强制转换一下,错误消息就是找不到book这个对象
      

  12.   

      book = request.getAttribute("book");
    这个语句要有强制类型转换的
      

  13.   

    试试一下两种方法:
    1.if(request.getAttribute("book")==null)改成if(request.getAttribute("book")==null || request.getAttribute("book").equals("null") || request.getAttribute("book").equals(""))2.就是注意大家都说的强制类型转换了,book =(BookInfo) request.getAttribute("book");
      

  14.   


    我觉得这个在误人子弟呀!
    还是我水平太次、对象用equals 判断 null 和 空字符……
    求解?何意
      

  15.   

     com.lpy.BookInfo book = null;你把这个空的对象放到request里面有什么意义啊
      

  16.   

    主要问题不是强制转换,即使把那一行代码删掉还会报错。
    我觉得还是 request.getAttribute("book")==null 这句有问题,