各位大佬..急啊..请教教我刚刚开始接触javabeans..认为和c++的函数或定义一个类..提供接口
..然后要用就包含那个'包' 就写了一个beans文件为Triangle.class 代码为
public class Triangle
{
double sideA;
public void setSideA(double a)
{
sideA=a;
}
public double getSideA()
{
return sideA;
}
};
再写了一个jsp文件为text.jsp 代码为
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="Triangle"%>
<html>
<body>
<FORM action="eee.jsp" Method="post">
<Input type=text name="sideA" value=0>
<Input type=submit value="sure">
<jsp:useBean id="triangle" class="Triangle" scope="page">
</jsp:useBean>
<jsp:setProperty name="triangle" property="*"/>
<jsp:getProperty name="triangle" property="sideA"/></FORM>
</body>
</html>
一调试就发现出错..信息为
description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSPGenerated servlet error:
The import Triangle cannot be resolvedAn error occurred at line: 8 in the jsp file: /eee.jsp
Generated servlet error:
Triangle cannot be resolved to a typeAn error occurred at line: 8 in the jsp file: /eee.jsp
Generated servlet error:
Triangle cannot be resolved to a typeAn error occurred at line: 8 in the jsp file: /eee.jsp
Generated servlet error:
Triangle cannot be resolved to a typeAn error occurred at line: 11 in the jsp file: /eee.jsp
Generated servlet error:
Triangle cannot be resolved to a type
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:409)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
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)请问这是什么错..应该怎样修改..还有我这样理解javabeans的用法对吗?谢谢
..然后要用就包含那个'包' 就写了一个beans文件为Triangle.class 代码为
public class Triangle
{
double sideA;
public void setSideA(double a)
{
sideA=a;
}
public double getSideA()
{
return sideA;
}
};
再写了一个jsp文件为text.jsp 代码为
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="Triangle"%>
<html>
<body>
<FORM action="eee.jsp" Method="post">
<Input type=text name="sideA" value=0>
<Input type=submit value="sure">
<jsp:useBean id="triangle" class="Triangle" scope="page">
</jsp:useBean>
<jsp:setProperty name="triangle" property="*"/>
<jsp:getProperty name="triangle" property="sideA"/></FORM>
</body>
</html>
一调试就发现出错..信息为
description The server encountered an internal error () that prevented it from fulfilling this request.exception org.apache.jasper.JasperException: Unable to compile class for JSPGenerated servlet error:
The import Triangle cannot be resolvedAn error occurred at line: 8 in the jsp file: /eee.jsp
Generated servlet error:
Triangle cannot be resolved to a typeAn error occurred at line: 8 in the jsp file: /eee.jsp
Generated servlet error:
Triangle cannot be resolved to a typeAn error occurred at line: 8 in the jsp file: /eee.jsp
Generated servlet error:
Triangle cannot be resolved to a typeAn error occurred at line: 11 in the jsp file: /eee.jsp
Generated servlet error:
Triangle cannot be resolved to a type
org.apache.jasper.compiler.DefaultErrorHandler.javacError(DefaultErrorHandler.java:84)
org.apache.jasper.compiler.ErrorDispatcher.javacError(ErrorDispatcher.java:328)
org.apache.jasper.compiler.JDTCompiler.generateClass(JDTCompiler.java:409)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:288)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:267)
org.apache.jasper.compiler.Compiler.compile(Compiler.java:255)
org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:563)
org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:293)
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)请问这是什么错..应该怎样修改..还有我这样理解javabeans的用法对吗?谢谢
package T;
public class Triangle
{
double sideA;
public void setSideA(double a)
{
sideA=a;
}
public double getSideA()
{
return sideA;
}
}Class文件:
Triangle.class
位于 WEB-INF/classes/T/Triangle.classJSP文件:
<%@ page contentType="text/html;charset=gb2312"%>
<%@ page import="T.Triangle"%>
<html>
<body>
<FORM action="text.jsp" Method="post">
<Input type=text name="sideA" value=0>
<Input type=submit value="sure">
<jsp:useBean id="triangle" class="Triangle" scope="page">
<jsp:setProperty name="triangle" property="*"/>
</jsp:useBean><jsp:getProperty name="triangle" property="sideA"/></FORM>
</body>
</html>
改成 ...class="T.Triangle" ...试试
这里有问题
<%@ page import="T.Triangle"%>
导入是要完整的类路径
<jsp:useBean id="triangle" class="Triangle" scope="page">
改成
<jsp:useBean id="triangle" class="T.Triangle" scope="page">就可以了java里面类的名称是由 包名+类名 确定的 ,
所以在导入一个类的时候,要写犬类的名称.
<%@ page import="T.Triangle"%>
javabean可以不写全类名吧
而在JSP页面直接用这个CLASS的话,好像要出错吧
因为我就出过这种错
但相入一个包就OK了