Hello Peter, Thanks for your reply.
You may download the project at this URL : http://athe.pagesperso-orange.fr/EssaiA.zip zip file contains Java sources in /WEB-INF/src :-) you will find a small part of the real project, this one is very big. Here's the form bean : package bean; import org.apache.struts.action.ActionForm; public class PageFormulaire extends ActionForm { /** * */ private static final long serialVersionUID = 1L; private Personne liste[]; public Personne[] getListe() { return liste; } public void setListe(Personne[] liste) { this.liste = liste; } public void setNom(int index , Personne nom) { if (liste == null) liste = new Personne[index + 1]; if (liste.length <= index) { Personne[] t = new Personne[index + 1]; int i = 0; while (i < liste.length) { t[i] = liste[i]; i++; } liste = t; } liste[index] = nom; } public Personne getNom(int index) { if (liste == null) liste = new Personne[index + 1]; if (liste.length <= index) { Personne[] t = new Personne[index + 1]; int i = 0; while (i < liste.length) { t[i] = liste[i]; i++; } liste = t; } return liste[index]; } } Here's Personne bean : package bean; import org.apache.struts.action.ActionForm; public class Personne extends ActionForm { /** * */ private static final long serialVersionUID = 1L; private String nom; private String prenom; public String getNom() { return nom; } public void setNom(String nom) { this.nom = nom; } public String getPrenom() { return prenom; } public void setPrenom(String prenom) { this.prenom = prenom; } } Thanks, Dom --- En date de : Sam 27.11.10, Peter Nguyen <pe...@peternguyen.id.au> a écrit : > De: Peter Nguyen <pe...@peternguyen.id.au> > Objet: RE: javax.servlet.ServletException: BeanUtils.populate > À: "'Struts Users Mailing List'" <user@struts.apache.org> > Date: Samedi 27 novembre 2010, 0h05 > Lol. Guys you're not serious about > not knowing who Tim Berners Lee is ?! :D > > Roger, what does your form bean look like? How have you > backed your indexed property? > > Peter. > > -----Original Message----- > From: Dominique JUSTE [mailto:dju...@yahoo.com] > > Sent: Saturday, 27 November 2010 4:54 AM > To: Struts Users Mailing List > Subject: RE: javax.servlet.ServletException: > BeanUtils.populate > > Are the Bangles Struts expert ?... Are they as skilled in > Struts as singing ?... :) > > --- En date de : Ven 26.11.10, Martin Gainty <mgai...@hotmail.com> > a écrit : > > > De: Martin Gainty <mgai...@hotmail.com> > > Objet: RE: javax.servlet.ServletException: > BeanUtils.populate > > À: "Struts Users Mailing List" <user@struts.apache.org> > > Date: Vendredi 26 novembre 2010, 18h34 > > > > you've listed 5 people who are more well known than > Tim Berners-Lee > > > > Martin > > ______________________________________________ > > Verzicht und Vertraulichkeitanmerkung/Note de déni et > de > > confidentialité > > > > Diese Nachricht ist vertraulich. Sollten Sie nicht der > vorgesehene > > Empfaenger sein, so bitten wir hoeflich um eine > Mitteilung. Jede > > unbefugte Weiterleitung oder Fertigung einer Kopie ist > unzulaessig. > > Diese Nachricht dient lediglich dem Austausch von > Informationen und > > entfaltet keine rechtliche Bindungswirkung. Aufgrund > der leichten > > Manipulierbarkeit von E-Mails koennen wir keine > Haftung fuer den > > Inhalt uebernehmen. > > > > Ce message est confidentiel et peut être > privilégié. Si vous n'êtes > > pas le destinataire prévu, nous te demandons avec > bonté que pour > > satisfaire informez l'expéditeur. > > N'importe quelle diffusion non autorisée ou la copie > de ceci est > > interdite. Ce message sert à l'information seulement > et n'aura pas > > n'importe quel effet légalement obligatoire. Étant > donné que les email > > peuvent facilement être sujets à la manipulation, > nous ne pouvons > > accepter aucune responsabilité pour le contenu > fourni. > > > > > > > > > > > > > Date: Fri, 26 Nov 2010 18:15:23 +0100 > > > Subject: Re: javax.servlet.ServletException: > > BeanUtils.populate > > > From: maurizio.cucchi...@gmail.com > > > To: user@struts.apache.org > > > > > > Susanna Hoffs – vocals/guitars > > > Vicki Peterson – vocals/guitars/bass guitar > Debbi Peterson – > > > vocals/drums/bass guitar Annette Zilinskas – > vocals/bass guitar > > (1982–1983) > > > Michael Steele – vocals/bass guitar/guitars > > (1983–2005) > > > > > > Did I win something? > > > > > > 2010/11/26 Martin Gainty <mgai...@hotmail.com>: > > > > who are the Bangles? > > > > > > > > Martin > > > > > ______________________________________________ > > > > Verzicht und Vertraulichkeitanmerkung/Note > de > > déni et de confidentialité > > > > > > > > Diese Nachricht ist vertraulich. Sollten > Sie > > nicht der vorgesehene Empfaenger sein, so bitten wir > hoeflich um eine > > Mitteilung. Jede unbefugte Weiterleitung oder > Fertigung einer Kopie > > ist unzulaessig. Diese Nachricht dient lediglich dem > Austausch von > > Informationen und entfaltet keine rechtliche > Bindungswirkung. Aufgrund > > der leichten Manipulierbarkeit von E-Mails koennen wir > keine Haftung > > fuer den Inhalt uebernehmen. > > > > Ce message est confidentiel et peut être > > privilégié. Si vous n'êtes pas le destinataire > prévu, nous te > > demandons avec bonté que pour satisfaire informez > l'expéditeur. > > N'importe quelle diffusion non autorisée ou la copie > de ceci est > > interdite. Ce message sert à l'information seulement > et n'aura pas > > n'importe quel effet légalement obligatoire. Étant > donné que les email > > peuvent facilement être sujets à la manipulation, > nous ne pouvons > > accepter aucune responsabilité pour le contenu > fourni. > > > > > > > > > > > > > > > > > > > > > > > >> Date: Fri, 26 Nov 2010 10:55:58 -0500 > > > >> Subject: Re: > javax.servlet.ServletException: > > BeanUtils.populate > > > >> From: davelnew...@gmail.com > > > >> To: user@struts.apache.org > > > >> > > > >> Oh. I'm sorry, I completely missed the > nested > > tags (not sure how I missed > > > >> it, though :) > > > >> > > > >> Sorry for the confusion. > > > >> > > > >> Dave > > > >> > > > >> On Fri, Nov 26, 2010 at 8:29 AM, > Dominique > > JUSTE <dju...@yahoo.com> > > wrote: > > > >> > > > >> > Thank you Dave, > > > >> > > > > >> > Let me show you the generated HTML > file > > : > > > >> > <body> > > > >> > <table> > > > >> > <form name="pageForm" > method="post" > > action="/EssaiA/traitement.do"> > > > >> > > > > >> > <tr> > > > >> > <td>Nom</td> > > > >> > <td><input type="text" > > name="liste[0].nom" > > > >> > value="1"></td> > > > >> > <td>Prénom</td> > > > >> > <td><input type="text" > > name="liste[0].prenom" > > > >> > value="0"></td> > > > >> > </tr> > > > >> > > > > >> > <tr> > > > >> > <td>Nom</td> > > > >> > <td><input type="text" > > name="liste[1].nom" > > > >> > value="9"></td> > > > >> > <td>Prénom</td> > > > >> > <td><input type="text" > > name="liste[1].prenom" > > > >> > value="2"></td> > > > >> > </tr> > > > >> > > > > >> > ..... > > > >> > </body> > > > >> > > > > >> > We see the indexed liste > (liste[0], > > liste[1], ...). > > > >> > > > > >> > So, what may I do to indicate that > form > > contains an indexed property ? In > > > >> > which file(s) ? > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > --- En date de : Ven 26.11.10, > Dave > > Newton <davelnew...@gmail.com> > > a écrit > > > >> > : > > > >> > > > > >> > > De: Dave Newton <davelnew...@gmail.com> > > > >> > > Objet: Re: > > javax.servlet.ServletException: BeanUtils.populate > > > >> > > À: "Struts Users Mailing > List" > > <user@struts.apache.org> > > > >> > > Cc: lukasz.len...@gmail.com > > > >> > > Date: Vendredi 26 novembre > 2010, > > 14h01 > > > >> > > 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(ComposableR > > equestProcessor.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(P > > opulateActionForm.java:50) > > > >> > > > > > > >> > > > > > > >> > > > > > >> > > > > org.apache.struts.chain.commands.AbstractPopulateActionForm.execute(Ab > > stractPopulateActionForm.java:60) > > > >> > > > > > > >> > > > > > > >> > > > > > >> > > > > org.apache.struts.chain.commands.ActionCommandBase.execute(ActionComma > > ndBase.java:51) > > > >> > > > > > > >> > > > > > org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) > > > >> > > > > > > >> > > > > > > >> > > > > > >> > > > > org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.j > > ava:305) > > > >> > > > > > > >> > > > > > org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) > > > >> > > > > > > >> > > > > > > >> > > > > > >> > > > > org.apache.struts.chain.ComposableRequestProcessor.process(ComposableR > > equestProcessor.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(Prop > > ertyUtilsBean.java:505) > > > >> > > > > > > >> > > > > > > >> > > > > > >> > > > > org.apache.commons.beanutils.PropertyUtilsBean.getIndexedProperty(Prop > > ertyUtilsBean.java:408) > > > >> > > > > > > >> > > > > > > >> > > > > > >> > > > > org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(Prope > > rtyUtilsBean.java:760) > > > >> > > > > > > >> > > > > > > >> > > > > > >> > > > > org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUti > > lsBean.java:837) > > > >> > > > > > > >> > > > > > > >> > > > > > >> > > > > org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.j > > ava: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(P > > opulateActionForm.java:50) > > > >> > > > > > > >> > > > > > > >> > > > > > >> > > > > org.apache.struts.chain.commands.AbstractPopulateActionForm.execute(Ab > > stractPopulateActionForm.java:60) > > > >> > > > > > > >> > > > > > > >> > > > > > >> > > > > org.apache.struts.chain.commands.ActionCommandBase.execute(ActionComma > > ndBase.java:51) > > > >> > > > > > > >> > > > > > org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) > > > >> > > > > > > >> > > > > > > >> > > > > > >> > > > > org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.j > > ava:305) > > > >> > > > > > > >> > > > > > org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:191) > > > >> > > > > > > >> > > > > > > >> > > > > > >> > > > > org.apache.struts.chain.ComposableRequestProcessor.process(ComposableR > > equestProcessor.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 > > > >> > > > > > > >> > > > > > > >> > > > > > >> > > > > >> > > > > >> > > > > >> > > > > >> > > > > --------------------------------------------------------------------- > > > >> > To unsubscribe, e-mail: user-unsubscr...@struts.apache.org > > > >> > For additional commands, e-mail: user-h...@struts.apache.org > > > >> > > > > >> > > > > > > > > > > > > > > > > > -- > > > Maurizio Cucchiara > > > > > > > > > --------------------------------------------------------------------- > > > 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 > > > --------------------------------------------------------------------- > 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