jsp中用j**aBean为什么这个类的引用是无效的?

时间:2014.04.09 发布人:zogna175

jsp中用j**aBean为什么这个类的引用是无效的?

已解决问题

谷歌zogna175用户在2014.04.09提交了关于“我的小人国jsp中用j**aBean为什么这个类的引用是无效的?”的提问,欢迎大家涌跃发表自己的观点。目前共有1个回答,最后更新于2024-07-29T00:23:26。总**分为三组代码circle.jsp用于显示***.j**a用于定义类radiusInput用于输入
circle.jsp如下
<%@pagelanguage="j**a"import="circle.class"contentType="text/html;charset=GBK"pageEncoding="ISO-8859-1"session="True"%>
<jsp:useBeanid="circleBean"scope="page"class="***.Circle"type="j**a.lang.String"></jsp:useBean></p>
<html>
<body>
<%
intradius=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:ProgramFilesApacheSoftwareFoundationTomcat6.0webappsROOTWEB-INFclasses下
运行错误:
org.apache.jasper.JasperException:/circle.jsp(2,0)ThevaluefortheuseBeanclassattribute***.Circleisinvalid.
org.apache.jasper.compiler.DefaultErrorh**andler.jspError(***.j**a:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(***.j**a:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(***.j**a:148)
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(***.j**a:1272)
org.apache.jasper.compiler.Node$UseBean.accept(***.j**a:1178)
org.apache.jasper.compiler.Node$Nodes.visit(***.j**a:2361)

j**a程序如下:
packagecircle;
publicclassCircle{
privateintradius=1;
publicCircle(){}
publicintgetRadius(){
returnradius;
}
publicvoidsetRadius(intrRadius){
radius=rRadius;
}
publicdoublecircleLength(){
returnMath.PI*radius*2.0;
}
publicdoublecircleArea(){
returnMath.PI*radius*radius;
}
}
radiusInput的jsp页面可以正确运行代码我略去了。。。希望大家能够帮助她。

详细问题描述及疑问:总**分为三组代码circle.jsp用于显示***.j**a用于定义类radiusInput用于输入
circle.jsp如下
<%@pagelanguage="j**a"import="circle.class"contentType="text/html;charset=GBK"pageEncoding="ISO-8859-1"session="True"%>
<jsp:useBeanid="circleBean"scope="page"class="***.Circle"type="j**a.lang.String"></jsp:useBean></p>
<html>
<body>
<%
intradius=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:ProgramFilesApacheSoftwareFoundationTomcat6.0webappsROOTWEB-INFclasses下
运行错误:
org.apache.jasper.JasperException:/circle.jsp(2,0)ThevaluefortheuseBeanclassattribute***.Circleisinvalid.
org.apache.jasper.compiler.DefaultErrorh**andler.jspError(***.j**a:40)
org.apache.jasper.compiler.ErrorDispatcher.dispatch(***.j**a:407)
org.apache.jasper.compiler.ErrorDispatcher.jspError(***.j**a:148)
org.apache.jasper.compiler.Generator$GenerateVisitor.visit(***.j**a:1272)
org.apache.jasper.compiler.Node$UseBean.accept(***.j**a:1178)
org.apache.jasper.compiler.Node$Nodes.visit(***.j**a:2361)

j**a程序如下:
packagecircle;
publicclassCircle{
privateintradius=1;
publicCircle(){}
publicintgetRadius(){
returnradius;
}
publicvoidsetRadius(intrRadius){
radius=rRadius;
}
publicdoublecircleLength(){
returnMath.PI*radius*2.0;
}
publicdoublecircleArea(){
returnMath.PI*radius*radius;
}
}
radiusInput的jsp页面可以正确运行代码我略去了。。。期待您的答案,希望你能感受到,我最真诚的谢意 !

希望以下的回答,能够帮助你。

第1个回答

用户名:春暖花开_42  

<%@pagelanguage="j**a"contentType="text/html;charset=GBK"pageEncoding="ISO-8859-1"session="True"%>
去掉import你的j来自sp:useBean里的class="***.C务跳该尽困批谈庆ircle"这个class的属性不能用im此黑敌port来导入必须写全名
<jsp:us问答eBeanid="circleBean"scope="page"cla守就游训绿案银简日照困ss="***.Circle"></jsp:useBean>
去掉typetype属性是其实就是设置一个class的类的父类的引用你的Circle又不是继承String来的
-------坏会耐就----------------
最后说下你这个bean一点都不好
publicdoublecircleLeng川质维跟太令危th(){
returnMath.PI*radius*2.0;
}
publicdoublecircleArea(且该){
returnMath.PI*radius*radius;
这两个方法加进去完全是画蛇添足使用jsp:useBean的主要用途就是不在jsp出现任何的脚本作乱整程序也就是<%%>或者<%=%>式前台(写网页部分)和后台(jsp和Servlet开发院班道烈创界江经神)完全分开