Hi Jon, Good debugging! I'd like to see some clear rules about struts & bean properties, so here's my attempt. (Not having read the bean spec very carefully!). 1 - If you want something treated as a property you must have get & set methods even if you won't call them both (from bean spec). 2 - Declare the get & set methods together (not necessary but good standard) most people do get before the set. 3 - If you overload the methods keep the matched pairs together.
This is alarmimg. I figure if if follow these rules I won't hit any problems. It seems you've discovered that it's dangerous to overload methods that are properties. Has some-one got the time to get to the bottom of this? cheers - Keith. --- Jon Ferguson <[EMAIL PROTECTED]> wrote: > Hey guys, > > I've finally managed to get this to work.. I thought it would be a classpath > prob.. but looks a bit more insidious. In my CategoryWrapper class I > actually > had three relevant methods: > public void setMapping(int index) > public void setMapping(Map) > public Map getMapping() > > The first is only used for setting things up explicitly... However because > it came before the others struts expects there to be a > public int getMapping() method. Even though the one requred for the jsp is > available. If I move "Map getMapping()" above the other > two in my source code this works. Java does not > guarrantee order when listing methods with getDeclaredMethods() > so I suspect the logic:iterate tag is not testing the methods > correctly? > > Any other takes on this? I realise I should probably change the > name of the first method to something like initializeMapping(int index) > but it doesn't seem like it should fail.. Especially since this > is likely to be random. > > Cheers, > Jon > > Jon Ferguson wrote: > > > Hey guys, anybody see this?? I've had the particular exception before but > > it's always been apparent what it was [eg. me :-) ]. > > > > I'm developing on Linux and Windows 2k. > > > > I've built a struts/tiles app that works flawlessly under my > > linux setup but when I serve it from my Windows 2k box I'm > > getting : > > > > "No getter method for property mapping of bean category" > > when my jsp is hit. The offending code uses a <logic:iterate> > > as follows: > > > > <logic:iterate id="category" > > type="uk.co.omegasoftware.util.struts.CategoryWrapper" > > name="itemListForm" > > property="categoryWrappers"> > > <tr> > > <td> > > <html:link page="/inventory.do" name="category" > > property="mapping"> > > <bean:write name="category" property="name" filter="true"/> > > </html:link> > > </td> > > </tr> > > </logic:iterate> > > > > the CategoryWrapper class Does have the appropriate accessors: > > ... > > public void setMapping(Map map) { > > mapping = map; > > } > > > > public Map getMapping() { > > return mapping; > > } > > ... > > > > In both cases I'm using release versions of struts. I've tried 1.0: 1.0.1 > > and 1.0.2 > > > > I'm running on Tomcat 4.0-b6 on my Linux box.. > > I've tried: Tomcat 4.0.1, 3.2.3, and 4.0 on my Windows box. > > > > I'm using JDK 1.4.0-beta on linux > > I've tried JDK 1.3.1, 1.4.0-beta and 1.4.0-beta3 on windows > > > > Any ideas?? > > > > Thanks, > > > > Jon > > > > ------------------------------------------------------------------------ > > Part 1.2Type: Plain Text (text/plain) > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> ===== ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Search the archive:- http://www.mail-archive.com/struts-user%40jakarta.apache.org/ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Keith Bacon - Looking for struts work - South-East UK. phone UK 07960 011275 __________________________________________________ Do You Yahoo!? Try FREE Yahoo! Mail - the world's greatest free email! http://mail.yahoo.com/ -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>