Caros,
Tenho uma tela JSP que possui dados do cliente para uma determinada data. Desejo fazer uma implementação que apresente um campo de data que ao ser mudado submeta a pesquisa para mesma tela mostrando os dados do cliente para esta nova data.
Já adicionei o tal campo e a pesquisa ocorre normalmente até determinado ponto. Ao mudar o campo de data, um javascript chama o form.submit e refaz a pesquisa. O parâmetro da nova data passa normalmente para as demais camadas bem como o código do cliente, de forma que a pesquisa seja refeita para este cliente na nova data. Só que em algum lugar na “engrenagem” dos frameworks ocorre um erro bizarro:
2008-04-14 18:53:00,859 ERROR [action] | Servlet.service() for servlet action threw exception
java.lang.IndexOutOfBoundsException: Index: 0, Size: 0
at java.util.ArrayList.RangeCheck(Unknown Source)
at java.util.ArrayList.get(Unknown Source)
at org.apache.commons.beanutils.PropertyUtilsBean.getIndexedProperty(PropertyUtilsBean.java:433)
at org.apache.commons.beanutils.PropertyUtilsBean.getIndexedProperty(PropertyUtilsBean.java:340)
at org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:664)
at org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715)
at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:884)
at org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
at org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
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 com.sicredi.crm.webapp.filter.ResponseHeaderFilter.doFilter(ResponseHeaderFilter.java:61)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173)
Detalhe: Se após a tela de erro eu digitar manualmente a URL com o id do cliente, a tela é recarregada normalmente trazendo os dados da nova data conforme esperado. Só que no submit é que tá dando esse erro. E não tenho a mínima idéia de que raio de array é esse! :???:
Já tentei diferentes modos de declaração do form, mas nada resolveu:
(simplesmente)Enfim, tenho a esperança de que alguém por aí já tenha visto este erro e possa me dar uma dica.
Obrigado!