problème de commandButton inactif
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:
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:
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:
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...