Have you tested under a different JVM version? Are the libraries on the classpath (both your apps and Tomcat's) precisely identical across environments?
Dave --- Mark Francillon <[EMAIL PROTECTED]> wrote: > Hi, > > I'm gnashing my teeth over the following, and solicit help. > > I'm involved in moving an older (Struts 1.2, JDK 1.4, Tomcat 5.0) app, > currently running in production under Linux, to Windows (don't ask). > Simply by copying the whole web app tree over (and adjusting Tomcat's > server.xml on the Windows side), I get large areas of the app's > functionality working just fine. > > However hitting on one particular JSP, I run into this... > > 2008-02-21 08:43:44 ApplicationDispatcher[/jsp] Servlet.service() for > servlet jsp threw exception > javax.servlet.jsp.JspException: No getter method for property > timeslotManager.reservationTimeslot.startDateString of bean > reservationListForm > > ...where the offending code in the JSP appears to be this: > > <bean:write name="reservationListForm" > property="timeslotManager.reservationTimeslot.startDateString" /> > > 1. Now I know what you're thinking--capitalization problem--but it's not > that, honest (I just checked for the hundredth time). > ReservationListForm has getTimeslotManager(), ReservationTimeslotManager > has getReservationTimeslot(), and ReservationTimeslot has > getStartDateString(). > > 2. The app is running without these errors under Linux. > > 3. If I run the app under Eclipse's debugger and set a breakpoint just > before the bean:write, I can see 'reservationListForm' sitting in the > session and navigate through to the ReservationTimeSlot object. All the > expected objects are sitting there, everything looks just right. > > 4. If I insert a scriptlet into the JSP immediately before the > bean:write, I can walk the object graph without error, and get back the > expected values from the method calls: > > <% > ReservationListForm rlf = (ReservationListForm) > session.getAttribute("reservationListForm"); > ReservationTimeslotManager rtm = rlf.getTimeslotManager(); > ReservationTimeslot rt = rtm.getReservationTimeslot(); > String startDateString = rt.getStartDateString(); > ... > %> > > 5. Can't access any other properties of 'reservationTimeslot' either. > And if I try shortening the chain of nested properties... > > <bean:write name="reservationListForm" property="timeslotManager"/> > > ...runs without error, but... > > <bean:write name="reservationListForm" > property="timeslotManager.reservationTimeslot"/> > > ...again brings the "No getter method..." error. > > 6. Same behavior if I move the app to OS X. > > This is all amusing, of course, but I'd like to move on to other things. > Does it ring any bells? Any suggestions about other things I might try > looking at? > > Thanks, Mark > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > > --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]