There's nothing in the form that indicates it's an indexed property/collection.
On Fri, Nov 26, 2010 at 5:40 AM, Dominique JUSTE <dju...@yahoo.com> wrote: > > Hello all, > > Thanks a lot for your replies. As I'm French, I hope I will clearly expose > my problem. It has been a long time since my last English draft. :) > > I've worked for one month on an application. It was created with Woody > framework, which is no longer supported. Consequently my mission is to turn > it to Struts. Work is almost completed, but there is one problem left, I've > been trying fixing it since Monday but I can't do anything, I have a > Beanutils exception :-((. > > The application is composed of MySQl 5.0, Hibernate 3.0 and Struts 1.3.10. > My problem is on a formular, hence Struts. > > I have a two beans : > - Personne (French translation of Character) with String attributs name and > firstname, > - PageFormulaire (extends ActionForm), with only one attribut, Personne[] > listP. > **I'm sure the exception is caused by this dynamic array.** If I put an > unique bean in PageFormulaire, application perfectly works. > > Both beans have setters and getters but I created in PageFormulaire two > more : > - public void setNom(int index , Personne nom) > - public Personne getNom(int index) > > An action instanciates a PageFormulaire bean, fills in with datas in MySQL, > puts it in request then calls a JSP. That's OK, the formular appears with > the datas. But when clicking submit button, application crashes, and shows > this accursed exception : > > > javax.servlet.ServletException: BeanUtils.populate > > > org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:286) > > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) > > org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462) > javax.servlet.http.HttpServlet.service(HttpServlet.java:710) > javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > > > javax.servlet.ServletException: BeanUtils.populate > org.apache.struts.util.RequestUtils.populate(RequestUtils.java:475) > > > org.apache.struts.chain.commands.servlet.PopulateActionForm.populate(PopulateActionForm.java:50) > > > org.apache.struts.chain.commands.AbstractPopulateActionForm.execute(AbstractPopulateActionForm.java:60) > > > org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) > org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) > > > org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305) > org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) > > > org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) > > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) > > org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462) > javax.servlet.http.HttpServlet.service(HttpServlet.java:710) > javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > > > java.lang.NullPointerException > > > org.apache.commons.beanutils.PropertyUtilsBean.getIndexedProperty(PropertyUtilsBean.java:505) > > > org.apache.commons.beanutils.PropertyUtilsBean.getIndexedProperty(PropertyUtilsBean.java:408) > > > org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:760) > > > org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:837) > > > org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:903) > > org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:830) > org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:433) > org.apache.struts.util.RequestUtils.populate(RequestUtils.java:473) > > > org.apache.struts.chain.commands.servlet.PopulateActionForm.populate(PopulateActionForm.java:50) > > > org.apache.struts.chain.commands.AbstractPopulateActionForm.execute(AbstractPopulateActionForm.java:60) > > > org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:51) > org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) > > > org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:305) > org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) > > > org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283) > > org.apache.struts.action.ActionServlet.process(ActionServlet.java:1913) > > org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:462) > javax.servlet.http.HttpServlet.service(HttpServlet.java:710) > javax.servlet.http.HttpServlet.service(HttpServlet.java:803) > > Here's the JSP : > > <%@ taglib uri="/WEB-INF/tld/struts-nested.tld" prefix="n" %> > <%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="h" %> > <h:html> > <head> > </head> > <body> > <table> > <n:form action="/traitement.do"> > <n:iterate name="CLE" property="liste"> > <tr> > <td>Nom</td> > <td><n:text property="nom"/></td> > <td>Prénom</td> > <td><n:text property="prenom"/></td> > </tr> > </n:iterate> > <tr> > <td colspan="4"><n:submit value="Enregistrer"/></td> > </tr> > </table> > </n:form> > </body> > </h:html> > > I thought I forgot the put the bean on session scope, but although I write > it on struts-config.xml, nothing to do... > > <form-beans> > <form-bean name="pageForm" type="bean.PageFormulaire"/> > </form-beans> > > <action-mappings> > <action path="/traitement" name="pageForm" > type="presentation.Traitement" scope="session"/> > </action-mappings> > > Note : class pathes are obviously correct :) > > So, does anyone have an idea ?... If necessary, I may send by mail the WAR > files containing all Java sources. > > Thanks for your help. > > Sincerly, > > Dominique > > > --- En date de : Jeu 25.11.10, Lukasz Lenart <lukasz.len...@googlemail.com> > a écrit : > > > De: Lukasz Lenart <lukasz.len...@googlemail.com> > > Objet: Re: javax.servlet.ServletException: BeanUtils.populate > > À: "Struts Users Mailing List" <user@struts.apache.org> > > Date: Jeudi 25 novembre 2010, 22h31 > > 2010/11/25 Dominique JUSTE <dju...@yahoo.com>: > > > Although I have used Struts for five years, I have > > been facing a trouble since Monday and I don't understand > > what's happening... > > > > "Monday, monday ... manic monday..." > > > > http://www.youtube.com/watch?v=lAZgLcK5LzI > > > > > > Kind regards ;-) > > -- > > Łukasz > > + 48 606 323 122 http://www.lenart.org.pl/ > > Kapituła Javarsovia 2010 http://javarsovia.pl > > > > --------------------------------------------------------------------- > > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > > For additional commands, e-mail: user-h...@struts.apache.org > > > > > > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > For additional commands, e-mail: user-h...@struts.apache.org > >