<%@ page contentType="text/html;charset=GB2312" %>
<body> 
<center>
<h2>
这是一个使用useBean动作的例子
</h2> 
</center>
<jsp:useBean id="test" class="BeanExample.SimpleBean" scope="page"/>
<% test.setString("This is a useBean Action example"); %>
<p> 
<h3>
<%=test.displayString()%>
</h3>
</p>代码很简单,而且在在WEB-INF\classes\BeanExample下已经编译好的有SimpleBean.class文件,但调用上面的JSP文件时为何总是错误?

解决方案 »

  1.   

    错误提示如下:
    我用的版本是JDK1.5.0+TOMCAT5.5
    type Exception reportmessage description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: /02_23.jsp(12,0) The value for the useBean class attribute BeanExample.SimpleBean is invalid.
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:512)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:377)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:314)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:264)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
      

  2.   

    BeanExample.SimpleBean不存在,看看是不是文件位置放错啦
      

  3.   

    是的,方法当然都是public文件内容如下:package BeanExample;
    public class SimpleBean
    {
        String str="";
        
        public SimpleBean()
        {
           str="This is the inital string";
        } 
        
        public void setString(String str1)
        {
         str="Hello! "+str1;
        }
        
        public String displayString()
        {
            return str;
        }
    }
      

  4.   

    <@ page import="BeanExample.SimpleBean" %>
      

  5.   

    一个标准的JavaBean应该具备三个条件:
    1、必然有一个空参的构造方法。
    2、实现Serializable接口。
    3、对于要暴露的成员变量要有相应的getXxx和setYyy方法。你程序的报错为:SimpleBean is invalid.(SimpleBean是无效的)
    你对照自己写的JavaBean,相信你应该会找到错误。
      

  6.   

    问题终于搞定,以上代码,我没改一行,重新启动了Tomcat,不行,干脆重启机器,呵呵,行了。不过,还得谢谢大家这么关心,尤其是michael_ls 兄弟的帮助,谢谢。