Anyone can update the wiki. Sounds like it would be good if you documented the grief you had on that page so that others could benefit.
Niall ----- Original Message ----- From: "Slattery, Tim - BLS" <[EMAIL PROTECTED]> To: "'Struts Users Mailing List'" <[EMAIL PROTECTED]> Sent: Friday, November 19, 2004 2:31 PM Subject: RE: Indexed properties > > Could not get the wiki's example of > > > > public class SkillActionForm extends ActionForm { > > protected List skills = new ArrayList(); > > > > public List getSkills() { > > return skills; > > } > > > > public void setSkills(List skills) { > > this.skills = skills; > > } > > > > public SkillBean getSkills(int index) { > > // automatically grow List size > > while (index >= skills.size()) { > > skills.add(new SkillBean()); > > } > > return (SkillBean)skills.get(index); > > } > > } > > > > However, as soon as I changed the setSkills(List) to > > setSkills(SkillBean) and provided a non-bean collection > > populating method (populateSkills(List)) everything seems to > > work. Apparently Struts is/cannot examine the method > > arguments and is confused by the naming. > > I just went through a lot of grief with indexed properties. The Java Beans > spec says that accessor methods for indexed properties have the following > signatures: > > public myobj[] getProperty() > public void setProperty(myobj[] mo) > public myobj getProperty(int i) > public void setProperty(int I, myobj mo) > > The unindexed accessors must take and return an array, no other kind of > collection will do. > > My problem was that the BEA Weblogic server on my local computer has a JVM > that does not enforce that rigorously, and is perfectly happy with unindexed > accessors that take other kinds of collections. But once I've got my app > working on my own machine, I deploy it to a larger machine that's available > to the testers and users. And that machine's JVM will not recognize an > indexed property if the unindexed accessors use anything other than an > array. I was using an ArrayList, and that caused the server to tell me that > the property did not exist! > > -- > Tim Slattery > [EMAIL PROTECTED] > > > --------------------------------------------------------------------- > 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]