Bonjour,

j'ai un problème en faisant un petit tutoriel jsf, mon commandButton du formulaire ne fonctionne pas du tout.
Voici ma page :
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
 
<%@ taglib uri="http://java.sun.com/jsf/html" prefix="h" %>
<%@ taglib uri="http://java.sun.com/jsf/core" prefix="f" %>
<f:loadBundle basename="game.messages" var="msg" />
 
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Input number</title>
</head>
<body>
    <f:view>
        <h:form id="inputNumbers" >
            <p>
                <h:outputText value="#{msg.how_to_play}"/>
            </p>
            <p>
                <h:messages style="color: blue"/>
            </p>
            <p>
                <h:inputText value="#{numberBean.userNumber}" required="true">
                    <f:validateLongRange minimum="0" maximum="100"/>
                </h:inputText>
                <h:commandButton value="#{msg.makeguess_button}" action="#{numberBean.checkGuess}"/>
            </p>
        </h:form>
    </f:view>
</body>
</html>
Voici mon fichier faces-config.xml :
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
 
<faces-config>
 
  <navigation-rule>
    <from-view-id>/pages/inputnumber.jsp</from-view-id>
    <navigation-case>
      <from-outcome>success</from-outcome> 
      <to-view-id>/pages/success.jsp</to-view-id>
    </navigation-case>
  </navigation-rule>
 
  <navigation-rule>
    <from-view-id>*</from-view-id>
    <navigation-case>
      <from-outcome>playagain</from-outcome> 
      <to-view-id>/pages/inputnumber.jsp</to-view-id>
    </navigation-case>
  </navigation-rule>
 
  <managed-bean>
    <managed-bean-name>numberBean</managed-bean-name>
    <managed-bean-class>game.NumberBean</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
  </managed-bean>
 
</faces-config>
Et mon bean :
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
49
50
51
52
53
 
public class NumberBean {
 
    private Integer userNumber;
    private int randomNumber;
 
    public NumberBean() {
        randomNumber = (int) (Math.random() * 100);
        System.out.println("Random number = " + randomNumber);
 
    }
 
    public Integer getUserNumber() {
        System.out.println("getUserNumber = " + userNumber);
        return userNumber;
    }
 
    public void setUsernNumber(Integer userNumber) {
        System.out.println("setUserNumber -> " + userNumber);
        this.userNumber = userNumber;
    }
 
    public String playAgain() {
        System.out.println("Play again");
        FacesContext context = FacesContext.getCurrentInstance();
        HttpSession session = (HttpSession) context.getExternalContext()
                .getSession(false);
        session.invalidate();
        return "playAgain";
    }
 
    public String checkGuess() {
        System.out.println("Vérif");
        if (userNumber.intValue() == randomNumber)
            return "success";
        else {
            FacesContext context = FacesContext.getCurrentInstance();
            ResourceBundle bundle = ResourceBundle.getBundle("game.messages",
                    context.getViewRoot().getLocale());
            String msg = "";
            if (userNumber.intValue() > randomNumber) {
                System.out.println("Trop petit");
                msg = bundle.getString("tryagain_smaller");
            } else {
                System.out.println("Trop grand");
                msg = bundle.getString("tryagain_bigger");
            }
            context.addMessage(null, new FacesMessage(msg));
            return null;
        }
    }
 
}
Quand je clique sur le bouton, tout ce que j'obtiens est un getUserNumber = null dans la console.

Merci pour l'aide, car là je sèche...