Bonjour tout le monde,

J'ai un formulaire permettant d'ajouter une Reaction sur une News. J'ai crée un NewsReactionEditor que j'ai ajouté dans le binder :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
@Override
	protected void initBinder(final HttpServletRequest request,
			final ServletRequestDataBinder binder) throws Exception {
		super.initBinder(request, binder);
		binder.registerCustomEditor(NewsReaction.class, new NewsReactionEditor(manager));
	}
J'ai également renseigné le type de commande que le contrôleur doit gérer :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
public NewsReactionFormController(final NewsManager manager) {
		super();
		this.manager = manager;
 
		setCommandName("reaction");
		setCommandClass(NewsReaction.class);
		setValidator(new NewsReactionValidator());
		setFormView("/news/react/add");
	}
Mais lorsque je tente d'envoyer le contenu de mon formulaire il tente d'éditer News et non pas la reaction..
J'ai donné au binder un NewsEditor et en effet, il utilise les NewsEditor au lieu du NewsReactionEditor.

Je ne vois vraiment pas pourquoi il tente d'éditer la News et non pas la réaction.

Pouvez-vous m'aider ?

Merci



Au cas ou, voici la méthode qui crée la reaction :
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
@Override
	protected Object formBackingObject(final HttpServletRequest request)
			throws Exception {
		User author = AuthorizationService.getPrincipal(request.getSession());
		int newsId = Integer.parseInt(request.getParameter("news"));
 
		NewsReaction reaction = (NewsReaction) super.formBackingObject(request);
		reaction.setDate(new Date());
		reaction.setAuthor(author);
 
		News news = manager.getNews(newsId);
		news.getReactions().add(reaction);
		reaction.setNews(news);
 
		return reaction;
	}