Bonsoir,

Ça faisait longtemps que je n'avais pas vu cette erreur :
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
36
37
38
39
40
41
42
43
44
45
46
47
48
 
exception
 
javax.servlet.ServletException: BeanUtils.populate
	org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:283)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:459)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
 
cause mère
 
javax.servlet.ServletException: BeanUtils.populate
	org.apache.struts.util.RequestUtils.populate(RequestUtils.java:453)
	org.apache.struts.chain.commands.servlet.PopulateActionForm.populate(PopulateActionForm.java:45)
	org.apache.struts.chain.commands.AbstractPopulateActionForm.execute(AbstractPopulateActionForm.java:57)
	org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48)
	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:280)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:459)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
 
cause mère
 
java.lang.NullPointerException
	org.apache.commons.beanutils.PropertyUtilsBean.getIndexedProperty(PropertyUtilsBean.java:427)
	org.apache.commons.beanutils.PropertyUtilsBean.getIndexedProperty(PropertyUtilsBean.java:340)
	org.apache.commons.beanutils.PropertyUtilsBean.getNestedProperty(PropertyUtilsBean.java:684)
	org.apache.commons.beanutils.PropertyUtilsBean.getProperty(PropertyUtilsBean.java:715)
	org.apache.commons.beanutils.BeanUtilsBean.setProperty(BeanUtilsBean.java:884)
	org.apache.commons.beanutils.BeanUtilsBean.populate(BeanUtilsBean.java:811)
	org.apache.commons.beanutils.BeanUtils.populate(BeanUtils.java:298)
	org.apache.struts.util.RequestUtils.populate(RequestUtils.java:451)
	org.apache.struts.chain.commands.servlet.PopulateActionForm.populate(PopulateActionForm.java:45)
	org.apache.struts.chain.commands.AbstractPopulateActionForm.execute(AbstractPopulateActionForm.java:57)
	org.apache.struts.chain.commands.ActionCommandBase.execute(ActionCommandBase.java:48)
	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	org.apache.commons.chain.generic.LookupCommand.execute(LookupCommand.java:304)
	org.apache.commons.chain.impl.ChainBase.execute(ChainBase.java:190)
	org.apache.struts.chain.ComposableRequestProcessor.process(ComposableRequestProcessor.java:280)
	org.apache.struts.action.ActionServlet.process(ActionServlet.java:1858)
	org.apache.struts.action.ActionServlet.doPost(ActionServlet.java:459)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:710)
	javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
Je me rappelle qu'il s'agit d'un bean supposé être en scope session, mais je ne me souviens plus comment faire.

Alors, pour mon cas, il s'agit d'un bean déjà initialisé en base de données qui sera modifié.

Le bean est le suivant :
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
 
public class JourneeForm extends ActionForm {
 
	/**
         * 
         */
	private static final long serialVersionUID = 1L;
	private RencontreForm[] liste;
 
	public void setListe(RencontreForm[] liste) {
		this.liste = liste;
	}
	public RencontreForm[] getListe() {
		return liste;
	}
}
Stockage du bean avant appel du formulaire :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
 
		request.getSession().setAttribute(Constantes.AttribJourneeModifiee, j);
		request.setAttribute(Constantes.AttribNumeroJournee, f.getAction());
		return mapping.findForward("JOURNEE_MODIFIEE");
Formulaire :
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
 
<%@ taglib uri="/WEB-INF/tld/struts-html.tld" prefix="h" %>
<%@ taglib uri="/WEB-INF/tld/struts-bean.tld" prefix="b" %>
<%@ taglib uri="/WEB-INF/tld/struts-logic.tld" prefix="l" %>
<%@ taglib uri="/WEB-INF/tld/struts-nested.tld" prefix="n" %>
<b:define id="JOURNEE_MODIFIEE" name="JOURNEE_MODIFIEE" type="presentation.bean.JourneeForm" scope="session"/>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<h:html>
<head>
	<title><b:message key="application.nom"/></title>
	<link type="text/css" rel="stylesheet" href="<b:message key="application.path"/>/css/style.css">
</head>
<body>
	<h1>Modifier une journée</h1>
	<h:form action="/validJournee.do">
	<table class="match">
		<tr>
			<th colspan="4" class="centre">Journée <b:write name="NUMERO_JOURNEE"/></th>
		<tr>
		<n:iterate name="JOURNEE_MODIFIEE" property="liste">
		<tr>
			<td class="droite"><n:write property="labelEquipeR"/></td>
			<td class="centre"><n:text property="scoreR" maxlength="2" styleClass="score"/></td>
			<td class="centre"><n:text property="scoreV" maxlength="2" styleClass="score"/></td>
			<td class="gauche"><n:write  property="labelEquipeV"/></td>
		</tr>
		</n:iterate>
		<tr>
			<td colspan="4" class="centre"><h:submit styleClass="vert" value="Valider"/></td>
		</tr>
	</table>
	</h:form>
</body>
</h:html>
Quand j'appuie sur le bouton submit, l'exception se produit...

Merci à toute personne qui pourrait m'aider.