Take a look at

http://struts.apache.org/faqs/indexedprops.html
http://www.developer.com/java/other/article.php/2233591
http://wiki.apache.org/struts/StrutsCatalogLazyList

Also, search the archives (like
http://marc.theaimsgroup.com/?l=struts-user ) for "lazylist" to get
ideas on approaches to dealing with dynamically sized form fields.

Hubert


On 4/20/05, [EMAIL PROTECTED] <[EMAIL PROTECTED]> wrote:
> I'm browsing thru the source code... any help would be extremely welcomed
> !
> 
> In addition this is the dump:
> 
> [20/04/05 13:10:31:116 EDT] 67e967e9 WebGroup      E SRVE0026E: [Servlet
> Error]-[BeanUtils.populate]: java.lang.ArrayIndexOutOfBoundsException
>         at java.lang.Throwable.<init>(Throwable.java)
>         at java.lang.Throwable.<init>(Throwable.java)
>         at
> java.lang.ArrayIndexOutOfBoundsException.<init>(ArrayIndexOutOfBoundsException.java:60)
>         at java.lang.reflect.Array.get(Native Method)
>         at
> org.apache.struts.action.DynaActionForm.get(DynaActionForm.java:296)
>         at
> org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(PropertyUtils.java:474)
>         at
> org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(PropertyUtils.java:428)
>         at
> org.apache.commons.beanutils.PropertyUtils.getNestedProperty(PropertyUtils.java)
>         at
> org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java)
>         at
> org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java)
>         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(RequestProcessor.java:821)
>         at
> org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:254)
>         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
> com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java:110)
>         at
> com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java:174)
>         at
> com.ibm.ws.webcontainer.servlet.IdleServletState.service(StrictLifecycleServlet.java:313)
>         at
> com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java:116)
>         at
> com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java:283)
>         at
> com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java:42)
>         at
> com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java:40)
>         at
> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:76)
>         at
> hronline.secure.app.HROnlineFilter.doFilter(HROnlineFilter.java:162)
>         at
> com.ibm.ws.webcontainer.filter.FilterInstanceWrapper.doFilter(FilterInstanceWrapper.java:132)
>         at
> com.ibm.ws.webcontainer.filter.WebAppFilterChain.doFilter(WebAppFilterChain.java:71)
>         at
> com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java:974)
>         at
> com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java:564)
>         at
> com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java:200)
>         at
> com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java:119)
>         at
> com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java:276)
>         at
> com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java:71)
>         at
> com.ibm.ws.webcontainer.cache.invocation.CacheableInvocationContext.invoke(CacheableInvocationContext.java:116)
>         at
> com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java:186)
>         at
> com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java:334)
>         at
> com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java:56)
>         at
> com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java:618)
>         at com.ibm.ws.http.HttpConnection.run(HttpConnection.java:439)
>         at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:672)
> 
> 
> Hello,
> 
> I have a DynaActionForm such as:
> <form-bean name="dynaCWWHistoryForm" type=
> "org.apache.struts.action.DynaActionForm">
>    <form-property name="cancelButton" type=
> "org.apache.struts.util.ImageButtonBean"></form-property>
>    <form-property name="displayContent" type="java.lang.Boolean"></
> form-property>
>    <form-property name="frmtPrinter" type="java.lang.String"></
> form-property>
>    <form-property name="historyItems" type="personal.history.HistoryVO[]"
> ></form-property>
>    <form-property name="language" type="java.lang.String"></form-property>
>    <form-property name="scheduleTypes" type="java.util.List"></
> form-property>
>    <form-property name="systemDate" type="java.lang.String"></
> form-property>
>    <form-property name="updateButton" type=
> "org.apache.struts.util.ImageButtonBean"></form-property>
>    <form-property name="workWeekSchedule" type="java.lang.String"></
> form-property>
>    <form-property name="years" type="java.util.List"></form-property>
> </form-bean>
> 
> If I assign a size to the array such as:
>    <form-property name="historyItems" type="personal.history.HistoryVO[]"
> size="4"></form-property>
> It works fine.
> 
> My problem is two fold:
> 1. The HistoryVO[] can be of any size... therefore I cannot assgin a size
> to the <form-property>
> 2. The user can add rows dynamically to DOM using JavaScript... how can
> this also work with the DynaActionForm ?
> 
> Much appreciated,
> Glenn
>

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to