Thx chris for pointing to this... With Regards
Partha -----Original Message----- From: McCormack, Chris [mailto:[EMAIL PROTECTED] Sent: Friday, February 27, 2004 5:51 PM To: Struts Users Mailing List Subject: RE: Problem in nested tags- Very Urgent - Please Help >i'll try to use lazy list once i finish off my work Eugh... We have all done it, but that is how botches get in to production code. People usually get too busy to apply the 'proper' code, or something more important that needs attention comes along. 2 years later someone comes along and has to rewrite a major part of the application to compensate for the temporary fix :P Welcome to the Software Industry. btw that is not a personal slight on you :) just an observation of the industry as a whole. -----Original Message----- From: Parthasarathy Kesavaraj [mailto:[EMAIL PROTECTED] Sent: 27 February 2004 09:45 To: 'Struts Users Mailing List' Subject: RE: Problem in nested tags- Very Urgent - Please Help Thanks mark , hubert and paul. i removed scope = request and it is working fine now. (Temporary fix :-)) i'll try to use lazy list once i finish off my work) With Regards Partha -----Original Message----- From: Mark Lowe [mailto:[EMAIL PROTECTED] Sent: Thursday, February 26, 2004 8:35 PM To: Struts Users Mailing List Subject: Re: Problem in nested tags- Very Urgent - Please Help Nice one.. For some reason i thought the Factory would involve more than it does, so i shied away from it. Cheers Mark On 26 Feb 2004, at 15:57, Paul, R. Chip wrote: > Note: I think this is likely different in current versions of the > commons > collections lib, but this works for the version we are dependent on. > > import java.util.ArrayList; > import java.util.List; > import org.apache.commons.collections.Factory; > import org.apache.commons.collections.ListUtils; > // Nonrelevant imports ommitted > > public class LazyListExampleForm extends ActionForm { > private List actionList; > > public LazyListExampleForm () > { > Factory factory = new Factory() { > public Object create() { > return new ActionListBean(); > } > }; > this.actionList = ListUtils.lazyList(new ArrayList(), > factory); > } > > // Getter/setters for list omitted > } > > -----Original Message----- > From: Mark Lowe [mailto:[EMAIL PROTECTED] > Sent: Thursday, February 26, 2004 8:49 AM > To: Struts Users Mailing List > Subject: Re: Problem in nested tags- Very Urgent - Please Help > > > wouldn't mind an example of how to use lazy list if you have one. > > > On 26 Feb 2004, at 15:33, Paul, R. Chip wrote: > >> Or use the Commons Collections LazyList which handles this problem >> automatically. >> >> -----Original Message----- >> From: Mark Lowe [mailto:[EMAIL PROTECTED] >> Sent: Thursday, February 26, 2004 8:09 AM >> To: Struts Users Mailing List >> Subject: Re: Problem in nested tags- Very Urgent - Please Help >> >> >> shirish posted this a few times. >> >> if you're scoping to request you'll need a while loop in your >> getFoo(int index) method >> >> public class OrgManagementForm extends ActionForm { >> >> private List addressList = new ArrayList(); >> >> public Address getAddress(int index) { >> >> while(index >= addressList.size() ) { >> this.addressList.add( new Address() ); >> } >> >> return (Address) addressList.get(index); >> } >> >> bla bla. >> >> } >> >> look like it could be your problem. >> >> >> On 26 Feb 2004, at 14:57, Parthasarathy Kesavaraj wrote: >> >>> I am having an OrganzationVO inside my form-bean. >>> >>> The OrganzationVO has a collection of AddressVOs. >>> >>> I am using nested tags like this. >>> >>> >>> <nested:nest property = "orgVO"> >>> >>> <nested:text property="orgID" size="10" maxlength="10" >>> styleClass="inputmand" tabindex="" /> >>> >>> <nested:iterate id="addressid" property="addresses" indexId="index"> >>> >>> >>> <nested:text property="company1" size="30" maxlength="30" >>> styleClass="inputmand" tabindex="" /> >>> >>> </nested:iterate> >>> >>> </nested:nest> >>> >>> while submitting the form I am getting an exception like this. >>> >>> >>> 2004-02-26 18:17:08,133 [ExecuteThread: '12' for queue: >>> 'weblogic.kernel.Default'] DEBUG org.apache. >>> commons.beanutils.BeanUtils - >>> setProperty([EMAIL PROTECTED], orgVO.a >>> ddresses[0].company1, [get populated]) >>> getAddrVOAL-->[] >>> <Feb 26, 2004 6:17:08 PM IST> <Error> <HTTP> <BEA-101017> >>> <[ServletContext(id=1735147,name=gbs,conte >>> xt-path=/gbs)] Root cause of ServletException. >>> java.lang.ArrayIndexOutOfBoundsException >>> at java.lang.reflect.Array.get(Native Method) >>> at >>> org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(Propert >>> y >>> U >>> tils. >>> java:525) >>> at >>> org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(Propert >>> y >>> U >>> tils. >>> java:428) >>> at >>> org.apache.commons.beanutils.PropertyUtils.getNestedProperty(Property >>> U >>> t >>> ils.j >>> ava:770) >>> at >>> org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils. >>> j >>> a >>> va:80 >>> 1) >>> at >>> org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java: >>> 881) >>> at >>> org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:808) >>> at >>> org.apache.struts.util.RequestUtils.populate(RequestUtils.java:1252) >>> at >>> org.apache.struts.action.RequestProcessor.processPopulate(RequestProc >>> e >>> s >>> sor.j >>> ava:821) >>> at >>> org.apache.struts.action.RequestProcessor.process(RequestProcessor.ja >>> v >>> a >>> :254) >>> at >>> com.puma.gbs.action.RequestProcessor.process(RequestProcessor.java: >>> 133) >>> at >>> org.apache.struts.action.ActionServlet.process(ActionServlet.java: >>> 1482) >>> at >>> org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:525) >>> at >>> javax.servlet.http.HttpServlet.service(HttpServlet.java:760) >>> at >>> javax.servlet.http.HttpServlet.service(HttpServlet.java:853) >>> at >>> weblogic.servlet.internal.ServletStubImpl$ServletInvocationAction.run >>> ( >>> S >>> ervle >>> tStubImpl.jav >>> a:1053) >>> at >>> weblogic.servlet.internal.ServletStubImpl.invokeServlet(ServletStubIm >>> p >>> l >>> .java >>> :387) >>> at >>> weblogic.servlet.internal.TailFilter.doFilter(TailFilter.java:28) >>> at >>> weblogic.servlet.internal.FilterChainImpl.doFilter(FilterChainImpl.ja >>> v >>> a >>> :27) >>> at >>> weblogic.servlet.internal.WebAppServletContext$ServletInvocationActio >>> n >>> . >>> run(W >>> ebAppServletC >>> ontext.java:6316) >>> at >>> weblogic.security.acl.internal.AuthenticatedSubject.doAs(Authenticate >>> d >>> S >>> ubjec >>> t.java:317) >>> at >>> weblogic.security.service.SecurityManager.runAs(SecurityManager.java: >>> 118) >>> at >>> weblogic.servlet.internal.WebAppServletContext.invokeServlet(WebAppSe >>> r >>> v >>> letCo >>> ntext.java:36 >>> 22) >>> at >>> weblogic.servlet.internal.ServletRequestImpl.execute(ServletRequestIm >>> p >>> l >>> .java >>> :2569) >>> at >>> weblogic.kernel.ExecuteThread.execute(ExecuteThread.java:197) >>> at weblogic.kernel.ExecuteThread.run(ExecuteThread.java:170) >>>> >>> 2004-02-26 18:18:40,616 [ExecuteThread: '12' for queue: >>> 'weblogic.kernel.Default'] DEBUG org.apache. struts.util.RequestUtils >>> - Get module name for path >>> /uma/showOrgDetails.do >>> 2004-02-26 18:18:40,616 [ExecuteThread: '12' for queue: >>> 'weblogic.kernel.Default'] DEBUG org.apache. struts.util.RequestUtils >>> - Module name found: /uma 2004-02-26 18:18:40,616 [ExecuteThread: >>> '12' for queue: 'weblogic.kernel.Default'] DEBUG org.apache. >>> struts.action.RequestProcessor - Processing a 'POST' for path >>> '/showOrgDetails' >>> >>> >>> >>> My OrgVO is like this. >>> >>> public class OrgVO { >>> >>> private ArrayList addresses = new ArrayList();//collection of >>> addressVOs >>> >>> /** >>> * Gets ArrayList of AddressVOs >>> * >>> * @return addrVOAL ArrayList a list of Address VO >>> */ >>> public Object[] getAddresses() { >>> >>> System.out.println("getAddrVOAL-->" + addresses); >>> if (addresses != null) { >>> return addresses.toArray(); >>> } else { >>> return null; >>> } >>> >>> } >>> >>> >>> /** >>> * Sets the list of address Valu Object >>> * >>> * @param addrList ArrayList new value of addrVOAL >>> */ >>> public void setAddresses(Object[] addrList) { >>> addresses = new ArrayList(); >>> for (int i = 0;i < addrList.length; i++) { >>> addresses.add(addrList[i]); >>> } >>> } >>> >>> } >>> >>> >>> Can anybody help... >>> >>> Thanks in advance. >>> >>> >>> >>> With Regards >>> >>> Partha >>> >>> >>> >>> --------------------------------------------------------------------- >>> 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] >> >> --------------------------------------------------------------------- >> 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] > > --------------------------------------------------------------------- > 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] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] *********************************************** This e-mail and its attachments are confidential and are intended for the above named recipient only. If this has come to you in error, please notify the sender immediately and delete this e-mail from your system. You must take no action based on this, nor must you copy or disclose it or any part of its contents to any person or organisation. Statements and opinions contained in this email may not necessarily represent those of Littlewoods. Please note that e-mail communications may be monitored. The registered office of Littlewoods Limited and its subsidiaries is 100 Old Hall Street, Liverpool, L70 1AB. Registered number of Littlewoods Limited is 262152. ************************************************ --------------------------------------------------------------------- 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]