日期:2014-05-17  浏览次数:20747 次

JSP中调用JavaBean时报错的问题
小弟初学jsp,在做javabean调用时报错:org.apache.jasper.JasperException: /useBean.jsp(9,2) The value for the useBean class attribute Circle is invalid,现把配置及代码贴出:
1、server.xml中的配置:<Context path="/WelcomePage" docBase="E:\Java\MyWorkSpace\WelcomePage\WebRoot"/>
2、Circle.class源码:
  package first;
  import java.io.*;
  public class Circle
  ......
3、jsp中调用的源码:
  <%@ page contentType="text/html;charset=GB2312"%>
  <%@ page import="first.Circle"%>
  <html>
  <body bgcolor=cyan><font size=4>
  <jsp:useBean id="girl" class="Circle" scope="page">
  </jsp:useBean>
  ......
4、Circle.class放置目录:E:\Java\MyWorkSpace\WelcomePage\WebRoot\WEB-INF\classes\first\Circle.class
5、jsp文件放置目录:E:\Java\MyWorkSpace\WelcomePage\WebRoot\useBean.jsp

小弟查了很多资料,没有发现有什么问题,纠结了两天,麻烦各位高手帮小弟看一下是哪里出了问题,不胜感激

------解决方案--------------------
这样写试试看
HTML code

<jsp:useBean id="girl" class="first.Circle" scope="page">
</jsp:useBean>

------解决方案--------------------
JavaBean这个类要是public的和它的构造函数也要是public得不能是默认的,你看看你的是不是~!
------解决方案--------------------
好像这里有点问题:<jsp:useBean id="girl" class="Circle" scope="page">
------解决方案--------------------
<jsp:useBean id="test" scope="page"
class="com.zhangyz.tools.UseBeanTest"></jsp:useBean>

class要使用全限定名import是无效的
------解决方案--------------------
帮你试了下 一点问题都没有的 你试下重新部署吧
package first的Circle.java
Java code

package first;


public class Circle
{
    int radius;

    public Circle()
    {
        radius = 1;
    }

    public int getRadius()
    {
        return radius;
    }

    public void setRadius(int newRadius)
    {
        radius = newRadius;
    }

    public double circleArea()
    {
        return Math.PI * radius * radius;
    }

    public double circleLength()
    {
        return 2.0 * Math.PI * radius;
    }
}

------解决方案--------------------
探讨
to zhouyuqwert兄:我要怎么重新部署呢?