Je tente depuis deux jours de passer un tableau via un formulaire.
Mon formulaire JSP simplifié se présente ainsi :
Tout le jeu tourne autour de condition qui est un tableau.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 <html:form action="/saisie/enregistrerEtaCei"> <html:hidden property="utilisateur" value="1"/> <html:text property="condition[0]" value="5"/> <html:text property="condition[1]" value="5"/> <html:text property="condition[2]" value="5"/> <html:reset>Rétablir</html:reset> <html:submit>Enregistrer</html:submit> </html:form>
J'ignore la taille du tableau.
Je souhaite le récupérer donc mon objet héritant de ActionForm se présente ainsi :
Bon et bien, force est de constater que cela ne marche pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35 public class EtaParCeiForm extends AbstractActionForm { /** @pdOid b5a9e49a-7110-4307-8785-3c3c02b2c764 */ private static final long serialVersionUID = 22075692L; /** @pdOid fb92bfcc-57da-4f0b-99ef-4e372f8103aa */ private Integer utilisateur; /** @pdOid a4ccfd0d-77b3-4f12-b8ca-a47cf847d8bf */ public Integer getUtilisateur() { return utilisateur; } /** * @param newUtilisateur * @pdOid 402c7dcb-4c23-40c8-8374-337db07cb50e */ public void setUtilisateur(Integer newUtilisateur) { utilisateur = newUtilisateur; } private Integer[] condition; /** @pdOid a4ccfd0d-77b3-4f12-b8ca-a47cf847d8bf */ public Integer[] getCondition() { return condition; } /** * @param newUtilisateur * @pdOid 402c7dcb-4c23-40c8-8374-337db07cb50e */ public void setCondition(Integer[] newCondition) { condition = newCondition; } }
J'obtiens l'erreur :
Le fichier de log en sortie ne me donne rien d'autres...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29 javax.servlet.ServletException: BeanUtils.populate at org.apache.struts.util.RequestUtils.populate(RequestUtils.java:495) at org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:805) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194) at i2.application.commun.presentation.action.GenericActionServlet.process(GenericActionServlet.java:93) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) 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 i2.application.commun.presentation.securite.MySecurityFilter.doFilter(MySecurityFilter.java:273) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at i2.application.commun.util.contexte.TimerFilter.doFilter(TimerFilter.java:70) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) 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.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:664) 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(Unknown Source)
Quelqu'un peut-il me dire comment je peux passer mes valeurs de condition ? (Je précise que en fonction de la page je ne connais pas et ne peux pas connaître la taille du tableau de condition)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34 [2007-07-20 15:04:36,841] ERROR (org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/vh].[action]) - "Servlet.service()" pour la servlet action a généré une exception () java.lang.NullPointerException at org.apache.commons.beanutils.PropertyUtilsBean.setIndexedProperty(PropertyUtilsBean.java:1414) at org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:1016) 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:493) at org.apache.struts.action.RequestProcessor.processPopulate(RequestProcessor.java:805) at org.apache.struts.action.RequestProcessor.process(RequestProcessor.java:203) at org.apache.struts.action.ActionServlet.process(ActionServlet.java:1194) at i2.application.commun.presentation.action.GenericActionServlet.process(GenericActionServlet.java:93) at org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:432) 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 i2.application.commun.presentation.securite.MySecurityFilter.doFilter(MySecurityFilter.java:273) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:173) at i2.application.commun.util.contexte.TimerFilter.doFilter(TimerFilter.java:70) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:202) 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.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:664) 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(Unknown Source)
Partager