Fala pessoal…
estou desenvolvendo meu projeto final, e estou encontrando um problema. No meu form eu tenho um property assim <form-property name="detalhe" type="java.util.ArrayList"/> . Ao iniciar a action, eu dou um ArrayList detalhe = new ArrayList();
detalhe.add(new Pedido());
dynaForm.set("detalhe",detalhe); que coloca um objeto pedido neste property do form.
Na minha jsp eu tenho <c:forEach items="${fazerPedidoForm.map.detalhe}" var="detalhe" varStatus="i">
<tr>
<td class="campo"><b><c:out value="${i.count}"/></b></td>
<td class="campo">
<html:text property="codigoItemAlimento" name="detalhe" indexed="true"/>
</td>
</tr>
</c:forEach> Até aí tudo bem, mas ao dar um submit, qualquer que seja, retorna a seguinte mensage 1606672 ERROR [http-8080-Processor24] org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/E-ORDER].[action] - Servlet.service() for servlet action threw exception
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(ArrayList.java:547)
at java.util.ArrayList.get(ArrayList.java:322)
at org.apache.struts.action.DynaActionForm.get(DynaActionForm.java:254)
at org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(PropertyUtils.java:456)
at org.apache.commons.beanutils.PropertyUtils.getIndexedProperty(PropertyUtils.java:410)
at org.apache.commons.beanutils.PropertyUtils.getNestedProperty(PropertyUtils.java:752)
at org.apache.commons.beanutils.PropertyUtils.getProperty(PropertyUtils.java:783)
at org.apache.commons.beanutils.BeanUtils.setProperty(BeanUtils.java:793)
at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:726)
at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:495)
at org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:798)
at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:205)
at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1164)
at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:415)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:709)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:802)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:252)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:213)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:178)
at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:432)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:126)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:105)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:107)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:148)
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:869)
at org.apache.coyote.http11.Http11BaseProtocol$Http11ConnectionHandler.processConnection(Http11BaseProtocol.java:667)
at org.apache.tomcat.util.net.PoolTcpEndpoint.processSocket(PoolTcpEndpoint.java:527)
at org.apache.tomcat.util.net.LeaderFollowerWorkerThread.runIt(LeaderFollowerWorkerThread.java:80)
at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:684)
at java.lang.Thread.run(Thread.java:595)
. Gostaria de saber o pq.
Erro ao usar java.util.ArrayList em property no formbean struts
G
1 Resposta
G
pessoal, acho que descobir, a minha action esta com scope=“request”, tirei e funcionou.
Valew
Criado 23 de abril de 2006
Ultima resposta 23 de abr. de 2006
Respostas 1
Participantes 1
Alura POO: o que é programação orientada a objetos? Aprenda os conceitos básicos da programação orientada a objetos, como classes, objetos, herança, encapsulamento e polimorfismo, com exemplos.
Casa do Codigo JavaScript Assertivo: Testes e qualidade de codigo em... Por Gabriel Ramos — Casa do Codigo