IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Spring Web Java Discussion :

SimpleFormController utilise le mauvais Editor


Sujet :

Spring Web Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut SimpleFormController utilise le mauvais Editor
    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;
    	}

  2. #2
    Membre Expert
    Avatar de X-plode
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2005
    Messages
    682
    Détails du profil
    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Décembre 2005
    Messages : 682
    Par défaut
    Salut,

    As tu checker se qui étais dans ta session ?

  3. #3
    Invité
    Invité(e)
    Par défaut
    Heuu..

    J'ai bidouillé un javax.servlet.Filter pour afficher le contenu de la session mais les seuls attributs sont ceux relatifs à SPRING_SECURITY_...

    Dans les logs, je peux trouver ceci :
    2009-03-18 13:29:33,925 DEBUG [me.myapp.web.controllers.news.NewsReactionFormController] - Displaying new form
    2009-03-18 13:29:33,925 DEBUG [me.myapp.web.controllers.news.NewsReactionFormController] - Creating new command of class [me.myapp.commons.beans.NewsReaction]
    2009-03-18 13:29:33,925 DEBUG [me.myapp.dao.impl.spring.hibernate.GenericHibernateDao] - Getting News with key '287'.
    2009-03-18 13:29:34,003 DEBUG [org.springframework.web.servlet.DispatcherServlet] - Rendering view [org.springframework.web.servlet.view.JstlView: name '/news/react/add'; URL [/WEB-INF/views/jsp//news/react/add.jsp]] in DispatcherServlet with name 'sicsUiDispatcher'
    2009-03-18 13:29:34,003 DEBUG [org.springframework.web.servlet.view.JstlView] - Rendering view with name '/news/react/add' with model {org.springframework.validation.BindingResult.reaction=org.springframework.validation.BeanPropertyBindingResult: 0 errors, reaction=me.myapp.commons.beans.NewsReaction@91507ec9: id=null; date=Wed Mar 18 13:29:33 CET 2009; author=Gervais; news=Test news} and static attributes {}
    2009-03-18 13:29:34,003 DEBUG [org.springframework.web.servlet.view.JstlView] - Added model object 'reaction' of type [me.myapp.commons.beans.NewsReaction] to request in view with name '/news/react/add'
    2009-03-18 13:29:34,003 DEBUG [org.springframework.web.servlet.view.JstlView] - Added model object 'org.springframework.validation.BindingResult.reaction' of type [org.springframework.validation.BeanPropertyBindingResult] to request in view with name '/news/react/add'
    2009-03-18 13:29:34,003 DEBUG [org.springframework.web.servlet.view.JstlView] - Forwarding to resource [/WEB-INF/views/jsp//news/react/add.jsp] in InternalResourceView '/news/react/add'
    Mais toujours pas de trace d'une éventuel "News" qui ce serait glissé dans l'histoire..


    Merci

Discussions similaires

  1. [WD12] Utilisation du mauvais ActiveX ?
    Par zouzoukha dans le forum WinDev
    Réponses: 7
    Dernier message: 26/10/2010, 15h14
  2. [Eclipse RCP] Utilisation d'un Editor ?
    Par rsubiger dans le forum Eclipse Platform
    Réponses: 1
    Dernier message: 18/06/2009, 12h41
  3. Utiliser le vb Editor dans une application
    Par charaf dans le forum VB.NET
    Réponses: 8
    Dernier message: 17/11/2008, 23h13
  4. Utilisation de Virtual Editor sous Eclipse 3.3
    Par malikoo dans le forum Eclipse Java
    Réponses: 4
    Dernier message: 06/09/2007, 15h22
  5. [Débutant] Utilisation de HQL Editor sous Eclipse
    Par sylsau dans le forum Hibernate
    Réponses: 2
    Dernier message: 04/05/2007, 14h20

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo