<%@ 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文件时为何总是错误?
<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文件时为何总是错误?
我用的版本是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)
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;
}
}
1、必然有一个空参的构造方法。
2、实现Serializable接口。
3、对于要暴露的成员变量要有相应的getXxx和setYyy方法。你程序的报错为:SimpleBean is invalid.(SimpleBean是无效的)
你对照自己写的JavaBean,相信你应该会找到错误。