Does that mean it's working now? If so, great! Quoting Mark Lowe <[EMAIL PROTECTED]>:
> Thanks Kris > > The method names need to match I was thinking it would work things out, > but i guess that the indexed property name must match the method even > when the object is scoped during the iteration. > > Cheers Mark > > On 7 Jan 2004, at 14:49, Kris Schneider wrote: > > > Quoting Mark Lowe <[EMAIL PROTECTED]>: > > > >> Sure the method names were just an example rather than copy n pasting > >> my code into a mail. > >> > >> I'm not using the nested tags lib as I don't mind drilling through to > >> nested objects. The form renders fine and i can set the values, its > >> when i submit the form, i don't get the values that the user sets in > >> the jsp, but rather those that are set in the action before forwarding > >> to the form. > >> > >> I've been getting n setting my indexed properties like you say. I've > >> tried just using arraylist and not casting to an array. > >> > >> Like i said i've a work around, but I dont like it as i need to match > >> the name of the object thats scoped during the iteration. > >> > >> I'm sure it should work because nesting beans is so useful. out of > >> interest have you been able to do this? > > > > Absolutely. I still tend to favor the nested tags for indexed and > > nested > > properties. Are you sure the HTML for the form is really being rendered > > correctly? Since you can access your data explicitly through > > request.getParameter, it just seems like there's a mismatch between > > the rendered > > parameter names and the properties exposed by the form. > > > >> On 7 Jan 2004, at 14:12, Kris Schneider wrote: > >> > >>> Have you tried the nested tags on this? > >>> > >>> <html:form ...> > >>> <nested:iterate property="beans"> > >>> <nested:text property="foo"/> > >>> <nested:iterate/> > >>> </html:form> > >>> > >>> For the form class, the JavaBeans pattern for an indexed property is > >>> the following: > >>> > >>> public void setter(int index, PropertyType value); > >>> public PropertyType getter(int index); > >>> public void setter(PropertyType[] values); > >>> public PropertyType[] getter(); > >>> > >>> For Struts, since it leverages BeanUtils, you can shorthand it to: > >>> > >>> public void setter(List values); > >>> public List getter(); > >>> > >>> I'm not really sure you're exposing the properties you think you are > >>> because > >>> you're using inconsistent method names (getBeans and getBean) as well > >>> as > >>> property types (Object[], ArrayList, and NestedBean). > >>> > >>> Quoting Mark Lowe <[EMAIL PROTECTED]>: > >>> > >>>> Has anyone else had any problems setting nested bean values > >>>> > >>>> Here's and example of what i mean.. > >>>> > >>>> public class DemoForm extends ActionForm { > >>>> > >>>> private ArrayList beanList; > >>>> > >>>> public DemoForm() { > >>>> this.beanList = new ArrayList(); > >>>> } > >>>> > >>>> public Object[] getBeans() { > >>>> return beanList.toArray() > >>>> } > >>>> > >>>> public void setBeans(ArrayList beanList) { > >>>> this.beanList = beanList; > >>>> } > >>>> > >>>> public NestedBean getBean(int i) { > >>>> NestedBean bean = (NestedBean) beanList.get(i); > >>>> return bean; > >>>> } > >>>> //and so on > >>>> } > >>>> > >>>> .. > >>>> > >>>> public class NestedBean { > >>>> private String foo; > >>>> > >>>> public String getFoo() { > >>>> return foo; > >>>> } > >>>> > >>>> public void setFoo(String foo) { > >>>> this.foo = foo; > >>>> } > >>>> } > >>>> > >>>> .. > >>>> <c:forEach var="bean" items="${myForm.beans}"> > >>>> <html:text name="bean" property="foo" indexed="true" /> > >>>> </c:forEach> > >>>> > >>>> The problem comes when i change values in the form element the > >>>> values > >>>> dont change so i guess the jsp and the servlets aren't > >>>> interacting. I > >>>> work around by retrieving form the parameter map > >>>> > >>>> String target = "bean["+ i +"].foo"; > >>>> String value = request.getParameter(target).toString(); > >>>> > >>>> > >>>> This works okay , but I'd really like to know wether i can do this > >>>> without this hack. > >>>> > >>>> Cheers Mark > >>> > >>> -- > >>> Kris Schneider <mailto:[EMAIL PROTECTED]> > >>> D.O.Tech <http://www.dotech.com/> > > > > -- > > Kris Schneider <mailto:[EMAIL PROTECTED]> > > D.O.Tech <http://www.dotech.com/> -- Kris Schneider <mailto:[EMAIL PROTECTED]> D.O.Tech <http://www.dotech.com/> --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]