Hello folks 2 days ago I wrote:
> from struts-config.xml the definition of the form follows: > > > <form-bean name="canalizzazioneCLDForm" > type="org.apache.struts.validator.DynaValidatorActionForm"> > <form-property name="listaDanneggiati" type="java.util.ArrayList"/> > </form-bean> the definition of the associated action is (note the scope parameter): <action path="/canalizzazione_cld" input="/jsp/pagecontainers/canalizzazioneCLD.jsp" scope="request" name="canalizzazioneCLDForm" parameter="command" type="it.ggl.callcenter.presentation.controller.action.CanalizzazioneCLDAction"> <forward name="avanti" path="/RISS_FRONTOFFICE/container_frontOffice.jsp" /><forward name="indietro" path="/jsp/pagecontainers/controparteveicolo.jsp" /> </action> My approach: I extract from session the bean I use to initialize the form. I do this in the action which is called before passing the request to the JSP which implements canalizzazioneCLDForm: //this bean defines the listaDanneggiati property PartiteDanneggiatiView partite = new PartiteDanneggiatiView(); // extract from session the bean which returns the listaDanneggiati ArrayList SessionBeanContainer beanContainer= getSessionContainer(request);if (beanContainer != null) { //this is obvious partite.setListaDanneggiati((ArrayList)beanContainer.getListaDanneggiati());} // puts form into the request setFormIntoTheRequest("canalizzazioneCLDForm", partite, request); //.................... Now the request is passed to the JSP: ............. <html:form method="post" action="/canalizzazione_cld.do"> <nested:iterate property="listaDanneggiati" type="DanneggiatoDto"> <nested:text styleClass="inputText" property="cognome"/><br/> <nested:text styleClass="inputText" property="nome"/><br/> <nested:iterate property="oggColpiti" type="OggColpitoDto"> <nested:text styleClass="inputText" property="descrizioneGenerica"/><br/> <nested:text styleClass="inputText" property="tipoGenerico"/><br/> </nested:iterate> </nested:iterate> </html:form> ................ when I submit the form I get the following > I need this to manage the interactivity correctly. Infact what I > actually get when I submit the form is the following:> > java.lang.IndexOutOfBoundsException: Index: 0, Size: 0 > at java.util.ArrayList.RangeCheck(Unknown Source) > at java.util.ArrayList.get(Unknown Source) > at > org.apache.struts.action.DynaActionForm.get(DynaActionForm.java:298) at > > org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(PropertyUtils.java:474) > at > > org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(PropertyUtils.java:428) > at........> > but if I change the scope of the action above to "session" and I call setFormIntoTheSession() instead of setFormIntoTheRequest() all works nice. This is obvius, but my problem is: I don't like to set the action scope to "session". Is there a way to set it to "request" and let all working right? thanks in advance -- Paride Perazzolo [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]