NullValueInNestedPathException lors de la soumission de mon formulaire
Hello !
2 jours maintenant que je bloque sur une erreur, et je n'ai pas l'ombre d'une piste.
Lorsque je soumets mon formulaire web, je me retrouve avec l'erreur :
Citation:
org.springframework.web.util.NestedServletException: Request processing failed; nested exception is org.springframework.beans.InvalidPropertyException: Invalid property 'team.responsibilitiesList[0]'
[...]
Cause mère :
org.springframework.beans.NullValueInNestedPathException: Invalid property 'team.responsibilitiesList' of bean class [mon.package.bo.project.TeamCommand]: Could not instantiate property type [mon.package.bo.project.EnumProjectResponsibility] to auto-grow nested property path: java.lang.InstantiationException: mon.package.bo.project.EnumProjectResponsibility
Voici les lignes qui semble-t-il me posent problème. Lorsque je les commente, je n'ai plus l'erreur :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| <fieldset>
<legend>Responsibilities</legend>
<table>
<c:forEach items="${team_cmd.team.responsibilitiesList}" var="responsibility" varStatus="responsibilityStatus">
<form:hidden path="team.responsibilitiesList[${responsibilityStatus.index}].value"/>
<tr>
<td>
<span class="input">${responsibility.name}</span>
<input type="button" value="X">
</td>
</tr>
</c:forEach>
</table>
</fieldset> |
Je veux afficher la liste des responsabilités de l'équipe. responsibilitiesList est une collection d'enums.
Voici le BO Team :
Code:
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
| public class Team implements Serializable {
private static final long serialVersionUID = -8809564093412284994L;
private int id = 0;
private Project project = null;
private User manager = null;
private String name = "";
private List<EnumProjectResponsibility> responsibilitiesList =
new AutoPopulatingList<EnumProjectResponsibility>(EnumProjectResponsibility.class);
public Team() {
super();
}
// GETTERS, SETTERS
// ...
public List<EnumProjectResponsibility> getResponsibilitiesList() {
return responsibilitiesList;
}
public void setResponsibilitiesList(
List<EnumProjectResponsibility> responsibilitiesList) {
this.responsibilitiesList = responsibilitiesList;
}
// ...
} |
D'après ce que je comprends, il y a un problème lors du bind entre le formulaire et le controller... Mais comment le résoudre ???