DO NOT REPLY TO THIS EMAIL, BUT PLEASE POST YOUR BUG RELATED COMMENTS THROUGH THE WEB INTERFACE AVAILABLE AT <http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10239>. ANY REPLY MADE TO THIS MESSAGE WILL NOT BE COLLECTED AND INSERTED IN THE BUG DATABASE.
http://nagoya.apache.org/bugzilla/show_bug.cgi?id=10239 Strange Bug in PropertyUtils, getter not found but exist in form class Summary: Strange Bug in PropertyUtils, getter not found but exist in form class Product: Struts Version: 1.0.2 Final Platform: PC OS/Version: Windows NT/2K Status: NEW Severity: Normal Priority: Other Component: Utilities AssignedTo: [EMAIL PROTECTED] ReportedBy: [EMAIL PROTECTED] Hello, On Struts 1.0.2, JDK 1.3.1, Tomcat 3.2, WIN 2000 I've got a strange bug on the PropertyUtils class, for tracking it, I add some System.out in method public static Object getSimpleProperty(Object bean, String name) from PropertyUtils class. When I cast the bean with my class, the getter is found. When I remove this cast, the getter is not found ! The datVers property is a nested property composed by 4 strings ( day, month, year, date ), the toString method return nested property date in my html tags I've got : datVers.day, datVers.month, datVers.year, datVers.date All the other form's property typed as DateField work fine. Only datVers crash. ----------------------------- Code in PropertyUtils.class : WITH CAST IN FIRST System.out public static Object getSimpleProperty(Object bean, String name) throws ... { (...) if ( name.equals("datVers") ) { System.out.println ("((com.meeschaert.assurance.controller.form.CreatRachatAgForm)bean).getDatVers ()="+((com.meeschaert.assurance.controller.form.CreatRachatAgForm) bean).getDatVers()); System.out.println("getSimpleProperty() bean=" + bean); System.out.println("getSimpleProperty() name=" + name); System.out.println("getSimpleProperty() descriptor=" + descriptor); System.out.println("getSimpleProperty() descriptor.getName=" + descriptor.getName()); System.out.println("getSimpleProperty() descriptor.getDisplayName=" + descriptor.getDisplayName()); } Method readMethod = getReadMethod(descriptor); if (readMethod == null) throw new NoSuchMethodException("Property '" + name + "' has no getter method"); ------------ System.out : ((com.meeschaert.assurance.controller.form.CreatRachatAgForm)bean).getDatVers() =26/11/1991 getSimpleProperty() bean=com.meeschaert.assurance.controller.form.CreatRachatAgForm@3411a getSimpleProperty() name=datVers getSimpleProperty() descriptor=java.beans.PropertyDescriptor@6df0f getSimpleProperty() descriptor.getName=datVers getSimpleProperty() descriptor.getDisplayName=datVers getSimpleProperty() descriptor.getReadMethod=public com.meeschaertx.controller.form.DateField com.meeschaert.assurance.controller.form.CreatRachatAgForm.getDatVers() ----------------------------- Code in PropertyUtils.class : WITHOUT CAST public static Object getSimpleProperty(Object bean, String name) throws ... { (...) if ( name.equals("datVers") ) { // COMMENT System.out.println ("((com.meeschaert.assurance.controller.form.CreatRachatAgForm)bean).getDatVers ()="+((com.meeschaert.assurance.controller.form.CreatRachatAgForm) bean).getDatVers()); System.out.println("getSimpleProperty() bean=" + bean); System.out.println("getSimpleProperty() name=" + name); System.out.println("getSimpleProperty() descriptor=" + descriptor); System.out.println("getSimpleProperty() descriptor.getName=" + descriptor.getName()); System.out.println("getSimpleProperty() descriptor.getDisplayName=" + descriptor.getDisplayName()); } Method readMethod = getReadMethod(descriptor); if (readMethod == null) throw new NoSuchMethodException("Property '" + name + "' has no getter method"); ------------ System.out : getSimpleProperty() bean=com.meeschaert.assurance.controller.form.CreatRachatAgForm@52fc36 getSimpleProperty() name=datVers getSimpleProperty() descriptor=java.beans.PropertyDescriptor@25fefa getSimpleProperty() descriptor.getName=datVers getSimpleProperty() descriptor.getDisplayName=datVers getSimpleProperty() descriptor.getReadMethod=null NoSuchMethodException=com.meeschaert.assurance.controller.form.CreatRachatAgForm @52fc36#datVers.date=26/11/1991 javax.servlet.jsp.JspException: No getter method for property datVers.date of bean org.apache.struts.taglib.html.BEAN at org.apache.struts.util.RequestUtils.lookup(Unknown Source) -Emmanuel -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>