Other | Other |
---|---|
1.3.1_11 11Fixed | 1.4.2_06Fixed |
Relates :
|
|
Relates :
|
|
Relates :
|
|
Relates :
|
Name: dk106046 Date: 09/08/2003 Operating System: Solaris 2.8 Full JDK version: 1.3.1_08 Problem details: After upgrading from 1.3.1_04 to 1.3.1_08, an application using struts introspection fails with the following error: Servlet Error: No getter method for property dn of bean calist: javax.servlet.jsp.JspException: No getter method for property dn of bean calist at org.apache.struts.util.RequestUtils.lookup(RequestUtils.java:742) Many apps in the system use struts introspection, but it is only this app in particular that fails under 1.3.1_08. One of its JSPs makes a struts call to <bean:write name="calist" property="dn"/>. It is just this ONE dn property that causes the problem, which manifests itself as the servlet error above. Reverting back to 1.3.1_04 fixes the problem, but 1.3.1_08 is required for other bug fixes and so downgrading is not an acceptable workaround for long. . JDK 1.3.1_08 introduced a fix for sunbug 4477877. The customer strongly suspects that this fix is the cause of their new problem 1.3.1_08. . Struts clearly uses introspection to find the getter methods for the bean properties, and with the _08 level, is apparently unable to find the getter method for the dn property (i.e. getDn()). Note that we know about the lowercase vs. uppercase issue that seems to catch a lot of struts users. This is NOT that problem. We re using it properly, and it DID work before this JDK upgrade. Our getDn() method DOES exist in a class file that is in the classpath. The interesting/unique thing about getDn() is that it calls a superclass getDn(). Source code and flow analysis is available on request. ======================================================================
|