当前位置: 代码迷 >> Java Web开发 >> 帮忙看下 这是哪里出的问题 
  详细解决方案

帮忙看下 这是哪里出的问题 

热度:223   发布时间:2008-06-08 18:27:19.0
帮忙看下 这是哪里出的问题 
--------------------------------------------------------------------------------

type Exception report

message

description The server encountered an internal error () that prevented it from fulfilling this request.

exception

org.apache.jasper.JasperException: javax.el.PropertyNotFoundException: Property 'Ename' not found on type com.bean.Editionbean
    org.apache.jasper.servlet.JspServletWrapper.handleJspException(JspServletWrapper.java:541)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:435)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


root cause

javax.el.PropertyNotFoundException: Property 'Ename' not found on type com.bean.Editionbean
    javax.el.BeanELResolver$BeanProperties.get(BeanELResolver.java:193)
    javax.el.BeanELResolver.property(BeanELResolver.java:267)
    javax.el.BeanELResolver.getValue(BeanELResolver.java:60)
    javax.el.CompositeELResolver.getValue(CompositeELResolver.java:53)
    org.apache.el.parser.AstValue.getValue(AstValue.java:97)
    org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:186)
    org.apache.jasper.runtime.PageContextImpl.proprietaryEvaluate(PageContextImpl.java:923)
    org.apache.jsp.ShowEdition_jsp._jspx_meth_c_005fforEach_005f0(ShowEdition_jsp.java:114)
    org.apache.jsp.ShowEdition_jsp._jspService(ShowEdition_jsp.java:76)
    org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:70)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
    org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:393)
    org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:320)
    org.apache.jasper.servlet.JspServlet.service(JspServlet.java:266)
    javax.servlet.http.HttpServlet.service(HttpServlet.java:803)


note The full stack trace of the root cause is available in the Apache Tomcat/6.0.13 logs.
搜索更多相关主题的帖子: server  

----------------解决方案--------------------------------------------------------
回复 1# zzyj001 的帖子
问题:

javax.servlet.jsp.JspException: No getter method for property rUnit of bean org.apache.struts.taglib.BEAN

NewForm.java


private String rUnit;   
   
public String getRUnit() {   
    return rUnit;   
}   
   
public void setRUnit(String rUnit) {   
    this.rUnit = rUnit;   
}   





New.jsp



运行,抛出上面提到的异常。

上网搜,CSDN找到相同问题的帖子,不过帖子最终也没道出问题的原因。不过帖子中的问题极相似,他的是eDate,我的是rUnit。他是把JSP中的eDate改成EDate就问题去除了。我在想,没道理啊,没有违反JAVA的编码规范啊,为什么要改。翻看前的Form Bean,啊,还真巧,以前的Form Bean中的属性名字都比较“长”的。而且都前面一节都非单字母:officePhone,而没写过oPhone之类的属性名。不会真因为这个吧,那两个字母呢,于是再试。。。。

结果出来了,两个(明显,是两个以上)小写字母打头就没问题。啊,这问题还让人想不明白,struts1.1在内部处理这些名字时应该是有问题的,起码根据JSP中的rUnit这个property名字不能正确地找到Form Bena里面相应的getRUnit()方法。但却能根据officePhone正确找到getOfficePhone()方法。

BUG,一定是个BUG。。。。







以前,相同的写法,运行正常!



OldForm.java



private String officePhone;   
   
public void setOfficePhone(String officePhone) {   
    this.officePhone = officePhone;   
}   
   
public String getOfficeAddress() {   
    return officeAddress;   
}   





Old.jsp

这是我在网上找到的 给大家分亨下
----------------解决方案--------------------------------------------------------
  相关解决方案