Bonsoir tout le monde. J'ai un problème récurent avec les pages que je développe avec spring, par exemple je veux juster réaliser une page avec un champ et un bouton quand j'appuie sur un bouton je veux afficher un message d'erreur si la valeur est 2 sinon continuer vers une autre page mais quand j'appuie sur le bouton je recois une erreur 404.
Voici le fichier du dispatcher:
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
 
    <bean name="/voiture.htm" class="springapp.web.VoitureController">
        <property name="commandName" value="voit"/>
        <property name="commandClass" value="springapp.service.Voiture"/>
        <property name="validator">
            <bean class="springapp.service.VoitureValidator"/>
        </property>
        <property name="formView" value="voiture"/>
        <property name="successView" value="hello.htm"/>
    </bean>
 
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
        <property name="viewClass" value="org.springframework.web.servlet.view.JstlView"/>
        <property name="prefix" value="/WEB-INF/jsp/"/>
        <property name="suffix" value=".jsp"/>
    </bean>
 
    <bean id="messageSource" class="org.springframework.context.support.ResourceBundleMessageSource">
        <property name="basename" value="messages"/>
    </bean>
la classe voiture:
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
 
package springapp.service;
 
/**
 *
 * @author hamza
 */
public class Voiture {
    private int couleur;
 
    public int getCouleur() {
        return couleur;
    }
 
    public void setCouleur(int couleur) {
        this.couleur = couleur;
    }
 
}
le contrôleur:
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
 
package springapp.web;
 
import org.springframework.web.servlet.mvc.SimpleFormController;
import org.springframework.web.servlet.ModelAndView;
import org.springframework.web.servlet.view.RedirectView;
 
import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
 
import springapp.service.Voiture;
 
public class VoitureController extends SimpleFormController {
 
    /** Logger for this class and subclasses */
 
 
    @Override
    public ModelAndView onSubmit(Object command)
            throws ServletException {
 
 
        return new ModelAndView(new RedirectView(getSuccessView()));
    }
 
    @Override
    protected Object formBackingObject(HttpServletRequest request) throws ServletException {
        Voiture voit = new Voiture();
        return voit;
    }
 
 
 
}
le validateur:
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
 
/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
 
package springapp.service;
 
import org.springframework.validation.Validator;
import org.springframework.validation.Errors;
 
/**
 *
 * @author hamza
 */
public class VoitureValidator implements Validator{
 
    public boolean supports(Class arg0) {
        return Voiture.class.equals(arg0);
 
    }
 
    public void validate(Object obj, Errors errors) {
        Voiture v =(Voiture)obj;
        if(v.getCouleur()==2)
            errors.rejectValue("couleur","err1",null,"pas de 2");
    }
 
}
Merci d'avance pour vos réponses.