jsp中用javaBean为什么这个类的引用是无效的?
总共分为三组代码circle.jsp用于显示Circle.java用于定义类radiusInput用于输入circle.jsp如下<%@pagelanguage="jav...
总共分为三组代码 circle.jsp用于显示 Circle.java 用于定义类 radiusInput用于输入
circle.jsp如下
<%@ page language="java" import="circle.class" contentType="text/html;charset=GBK" pageEncoding="ISO-8859-1" session="True"%>
<jsp:useBean id="circleBean" scope="page" class="circle.Circle" type="java.lang.String" ></jsp:useBean></p>
<html>
<body>
<%
int radius=Integer.parseInt(request.getParameter("radius"));
circleBean.setRadius(radius);
out.println("圆的半径是:"+circleBean.getRadius());
out.println("圆的周长是:"+circleBean.getLength());
out.println("圆的面积是:"+circleBean.getArea());
%>
</body>
</html>
我用的是Tomcat6.0
已经把circle.class类放在了C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\ROOT\WEB-INF\classes下
运行错误:
org.apache.jasper.JasperException: /circle.jsp(2,0) The value for the useBean class attribute circle.Circle 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)
.........
java程序如下:
package circle;
public class Circle{
private int radius=1;
public Circle(){}
public int getRadius(){
return radius;
}
public void setRadius(int rRadius){
radius=rRadius;
}
public double circleLength(){
return Math.PI*radius*2.0;
}
public double circleArea(){
return Math.PI*radius*radius;
}
}
radiusInput的jsp页面可以正确运行 代码我略去了。。。
输入半径的代码我也发了吧:
<body>
<form id="form1" name="form1" method="post" action="circle.jsp">
请输入圆的半径:
<input name="radius" type="text" id="radius"/>
<input type="submit" name="submit" value="开始计算"/>
</form>
</body>
为什么会错了呢 我都试了好久了 展开
circle.jsp如下
<%@ page language="java" import="circle.class" contentType="text/html;charset=GBK" pageEncoding="ISO-8859-1" session="True"%>
<jsp:useBean id="circleBean" scope="page" class="circle.Circle" type="java.lang.String" ></jsp:useBean></p>
<html>
<body>
<%
int radius=Integer.parseInt(request.getParameter("radius"));
circleBean.setRadius(radius);
out.println("圆的半径是:"+circleBean.getRadius());
out.println("圆的周长是:"+circleBean.getLength());
out.println("圆的面积是:"+circleBean.getArea());
%>
</body>
</html>
我用的是Tomcat6.0
已经把circle.class类放在了C:\Program Files\Apache Software Foundation\Tomcat 6.0\webapps\ROOT\WEB-INF\classes下
运行错误:
org.apache.jasper.JasperException: /circle.jsp(2,0) The value for the useBean class attribute circle.Circle 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)
.........
java程序如下:
package circle;
public class Circle{
private int radius=1;
public Circle(){}
public int getRadius(){
return radius;
}
public void setRadius(int rRadius){
radius=rRadius;
}
public double circleLength(){
return Math.PI*radius*2.0;
}
public double circleArea(){
return Math.PI*radius*radius;
}
}
radiusInput的jsp页面可以正确运行 代码我略去了。。。
输入半径的代码我也发了吧:
<body>
<form id="form1" name="form1" method="post" action="circle.jsp">
请输入圆的半径:
<input name="radius" type="text" id="radius"/>
<input type="submit" name="submit" value="开始计算"/>
</form>
</body>
为什么会错了呢 我都试了好久了 展开
5个回答
展开全部
<%@ page language="java" contentType="text/html;charset=GBK" pageEncoding="ISO-8859-1" session="True"%>
去掉import 你的jsp:useBean里的class="circle.Circle"这个class的属性不能用import来导入必须写全名
<jsp:useBean id="circleBean" scope="page" class="circle.Circle" ></jsp:useBean>
去掉type type属性是 其实就是设置一个class的类的父类的引用你的Circle又不是继承String来的
-----------------------
最后说下你这个bean一点都不好
public double circleLength(){
return Math.PI*radius*2.0;
}
public double circleArea(){
return Math.PI*radius*radius;
这两个方法加进去完全是画蛇添足 使用jsp:useBean的主要用途就是不在jsp出现任何的脚本程序也就是<% %>或者<%= %> 式前台(写网页部分)和后台(jsp 和Servlet开发)完全分开
去掉import 你的jsp:useBean里的class="circle.Circle"这个class的属性不能用import来导入必须写全名
<jsp:useBean id="circleBean" scope="page" class="circle.Circle" ></jsp:useBean>
去掉type type属性是 其实就是设置一个class的类的父类的引用你的Circle又不是继承String来的
-----------------------
最后说下你这个bean一点都不好
public double circleLength(){
return Math.PI*radius*2.0;
}
public double circleArea(){
return Math.PI*radius*radius;
这两个方法加进去完全是画蛇添足 使用jsp:useBean的主要用途就是不在jsp出现任何的脚本程序也就是<% %>或者<%= %> 式前台(写网页部分)和后台(jsp 和Servlet开发)完全分开
展开全部
你好,我发现是这块出问题了,你也可以试试楼上的。
<%@ page language="java" import="circle.class" contentType="text/html;charset=GBK" pageEncoding="ISO-8859-1" session="True"%>
修改成下面的:
<%@ page language="java" import="circle.Circle" contentType="text/html;charset=GBK" pageEncoding="ISO-8859-1" session="True"%>
<%@ page language="java" import="circle.class" contentType="text/html;charset=GBK" pageEncoding="ISO-8859-1" session="True"%>
修改成下面的:
<%@ page language="java" import="circle.Circle" contentType="text/html;charset=GBK" pageEncoding="ISO-8859-1" session="True"%>
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
你好,
<jsp:useBean id="circleBean" scope="page" class="circle.Circle" type="java.lang.String" ></jsp:useBean>这里,把type="java.lang.String"删掉
<jsp:useBean id="circleBean" scope="page" class="circle.Circle" type="java.lang.String" ></jsp:useBean>这里,把type="java.lang.String"删掉
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询