说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

为什么我用jsp访问不到bean的属性???[100分,在线结帖]

编辑:说三道四文库 发布时间:2018-08-20 04:51
HTML文档下载 WORD文档下载 PDF文档下载
JSP代码:
<%@page language="java" import="tax.*" contentType="html/text;charset=gb2312"%
>
<html>
<body>
<jsp:useBean id="TaxRate" scope="application" class="tax.TaxRate"/>
<% 
TaxRate.setProduct("A002");
TaxRate.setRate(17);
%>

<%--Product:<%=TaxRate.getProduct()%>--%>
<%
TaxRate.setProduct("A003");
TaxRate.setRate(25);
%>

<br>
Before Modified:
<br>
Product:<jsp:getProperty name="TaxRate" property="Product"/>
<br>
Rate:<jsp:getProperty name="TaxRate" property="Rate"/>
<jsp:setProperty name="TaxRate" property="Product" value="Hello"/>
<jsp:setProperty name="TaxRate" property="Rate" value="2.9"/>
<br>
after modified:
<br>
product:<jsp:getProperty name="TaxRate" property="Product"/>
<br>
rate:<jsp:getProperty name="TaxRate" property="Rate"/>
<br>

</body>
</html>

Bean 代码:
package tax;
public class TaxRate {
            String Product;
            double Rate;

             public TaxRate(){
                    this.Product="A001";
                    this.Rate = 5;
             }
             
             public void setProduct(String ProductName){
                         this.Product = ProductName;
             }
             
             public String getProduct(){
                           return(this.Product);
             }
             
             public void setRate(double rateValue){
                         this.Rate=rateValue;
             }
             
             public double getRate(){
                           return(this.Rate);
             }
}
用tomcat4.1.24测试后,发现下面错误:
description The server encountered an internal error () that prevented it from
 fulfilling this request.

exception 

org.apache.jasper.JasperException: Cannot find any information on property 'Pr
oduct' in a bean of type 'tax.TaxRate'
    at org.apache.jasper.runtime.JspRuntimeLibrary.getReadMethod(JspRuntimeLib
rary.java:704)
    at org.apache.jasper.compiler.Generator$GenerateVisitor.visit(Generator.ja
va:694)
    at org.apache.jasper.compiler.Node$GetProperty.accept(Node.java:552)
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:1028)
    at org.apache.jasper.compiler.Node$Visitor.visitBody(Node.java:1070)
    at org.apache.jasper.compiler.Node$Visitor.visit(Node.java:1076)
    at org.apache.jasper.compiler.Node$Root.accept(Node.java:232)
    at org.apache.jasper.compiler.Node$Nodes.visit(Node.java:1028)
    at org.apache.jasper.compiler.Generator.generate(Generator.java:1917)
    at org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:242)
    at org.apache.jasper.compiler.Compiler.compile(Compiler.java:369)
    at org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.j
ava:473)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.j
ava:190)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295
)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:241)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(Applic
ationFilterChain.java:247)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFil
terChain.java:193)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperVal
ve.java:256)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextVal
ve.java:191)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(Authenticato
rBase.java:494)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardContext.invoke(StandardContext.java:24
15)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.jav
a:180)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.valves.ErrorDispatcherValve.invoke(ErrorDispatcherV
alve.java:171)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.jav
a:172)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invokeNext(StandardPipeline.java:641)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve
.java:174)
    at org.apache.catalina.core.StandardPipeline$StandardPipelineValveContext.
invokeNext(StandardPipeline.java:643)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:
480)
    at org.apache.catalina.core.ContainerBase.invoke(ContainerBase.java:995)
    at org.apache.coyote.tomcat4.CoyoteAdapter.service(CoyoteAdapter.java:223)

    at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:5
94)
    at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process
Connection(Http11Protocol.java:392)
    at org.apache.tomcat.util.net.TcpWorkerThread.runIt(PoolTcpEndpoint.java:5
65)
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPoo
l.java:619)
    at java.lang.Thread.run(Thread.java:536)

http://expert.csdn.net/Expert/FAQ/FAQ_Index.asp?id=59933

呵呵,FAQ中有相同的一例。
你的'tax.TaxRate'存放路径是否正确?
应该在
WEB-INF/class/tax/TaxRate.class
正确,现在已经测试到的确是大小写敏感的问题。

我将全部变量该为小写后解决。
同时将beans内变量全部该为私有变量后,问题彻底解决。

大家不知道还有什么补充的吗???要不就结帖啦。
没有,完全正确,我也烦过这样的错,就是大小写的问题.
苹果给楼主拍马屁来啦!多给小的点分哦
搂主给点分吧好让我问问题
靠,JAVA版也有假苹果,苹果这回要在CSDN出名啦:)
楼上的楼上是来捣乱的,请楼主不要理会,请JAVA版的大版主封了那个假苹果,谢谢
想打架是吧,

楼上的快打,解决一个,我搬上去!
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘