Myeclipse7.5+tomcat6.0+JDK1.6.0 然后JSP代码是:
<%@ page language="java" contentType="text/html" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import="test.*"%>
<html>
<body>
<jsp:useBean id="lady" class="test.Lader" scope="page"></jsp:useBean>
<%
lady.setDi(200);
lady.setGao(300); %>
长方形的高是:<%=lady.getGao() %>
长方形的底是:<%=lady.getDi() %>
长方形的面积是:<%=lady.getMianji() %>
<br>
</body>
</html>
然后错误是:org.apache.jasper.JasperException: /WebRoot/compute.jsp(6,4) The value for the useBean class attribute test.Lader is invalid.
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1272)
org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1178)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
org.apache.jasper.compiler.Node$Root.accept(Node.java:495)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
org.apache.jasper.compiler.Generator.generate(Generator.java:3426)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:216)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)我的Lader.class放在WEB-INF/classes/test下,请问是哪里出错了,应该怎么改,谢谢!环境变量配置如下:JAVA_HOME:D:\program files\Java\jdk1.6.0_10 CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\htmlconverter.jar;%JDBC_HOME%\sqljdbc.jar;D:\program files\Tomcat 6.0\lib\servlet-api path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 我初学,还望高手指点
<%@ page language="java" contentType="text/html" import="java.util.*" pageEncoding="gb2312"%>
<%@ page import="test.*"%>
<html>
<body>
<jsp:useBean id="lady" class="test.Lader" scope="page"></jsp:useBean>
<%
lady.setDi(200);
lady.setGao(300); %>
长方形的高是:<%=lady.getGao() %>
长方形的底是:<%=lady.getDi() %>
长方形的面积是:<%=lady.getMianji() %>
<br>
</body>
</html>
然后错误是:org.apache.jasper.JasperException: /WebRoot/compute.jsp(6,4) The value for the useBean class attribute test.Lader is invalid.
org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:148)
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.java:1272)
org.apache.jasper.compiler.Node$UseBean.accept(Node.java:1178)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:2411)
org.apache.jasper.compiler.Node$Visitor.visit(Node.java:2417)
org.apache.jasper.compiler.Node$Root.accept(Node.java:495)
org.apache.jasper.compiler.Node$Nodes.visit(Node.java:2361)
org.apache.jasper.compiler.Generator.generate(Generator.java:3426)
org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:216)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:332)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:312)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:299)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:586)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:317)
org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:342)
org.apache.jasper.servlet.JspServlet.service(JspServlet.java:267)
javax.servlet.http.HttpServlet.service(HttpServlet.java:717)我的Lader.class放在WEB-INF/classes/test下,请问是哪里出错了,应该怎么改,谢谢!环境变量配置如下:JAVA_HOME:D:\program files\Java\jdk1.6.0_10 CLASSPATH:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;%JAVA_HOME%\lib\htmlconverter.jar;%JDBC_HOME%\sqljdbc.jar;D:\program files\Tomcat 6.0\lib\servlet-api path:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin; 我初学,还望高手指点
package test;public class Lader {
int di,gao,mianji;
public Lader() {
mianji=di*gao;
}
public void setDi(int di){
this.di=di;
}
public int getDi(){
return di;
}
public void setGao(int gao){
this.gao=gao;
}
public int getGao(){
return gao;
}
public int getMianji(){
mianji=di*gao;
return mianji;
}}
<jsp:setProperty name="test" property="di" value="33"/>
<jsp:getProperty name="test" property="di" />
<%@ page import="test.*"%>
<html>
public Lader() {
mianji=di*gao;}
里面的mianji=di*gao; 去掉。new的时候拿两个null在乘再赋值给第3个null,
<%@ page language="java" contentType="text/html" import="java.util.*" pageEncoding="gb2312"%><html>
<body>
<%!
public class Lader {
int di,gao,mianji;
public Lader() {
}
public void setDi(int di){
this.di=di;
}
public int getDi(){
return di;
}
public void setGao(int gao){
this.gao=gao;
}
public int getGao(){
return gao;
}
public int getMianji(){
mianji=di*gao;
return mianji;
}} %>
<%
Lader lady=new Lader();
lady.setDi(200);
lady.setGao(300); %>
长方形的高是:<%=lady.getGao() %>
长方形的底是:<%=lady.getDi() %>
长方形的面积是:<%=lady.getMianji() %>
<br>
</body>
</html>
这个就完全能运行,这是怎么回事呢?
你的public里面不是也把gao*di去了吗?