Problème commandButton avec Facelet
Hello tout le monde :)
J'ai un problème sur l'utilisation de commandButton. Ca doit être tout bête, mais je n'arrive pas à en trouver l'explication.
J'ai une classe MainJavaTest très simple :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| public class MainJavaTest
{
private String stg;
public MainJavaTest()
{
this.stg = "something";
}
public String getStg()
{
return this.stg;
}
public void doStg()
{
System.out.println("doStg... Youpi");
this.stg = "youpi";
}
} |
Je la déclare dans mon faces-config.xml :
Code:
1 2 3 4 5
| <managed-bean>
<managed-bean-name>mainJavaTest</managed-bean-name>
<managed-bean-class>MainJavaTest</managed-bean-class>
<managed-bean-scope>session</managed-bean-scope>
</managed-bean> |
Pis je me crée un jsf s'appuyant sur MainJavaTest avec divers essais de commandButton :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:ui="http://java.sun.com/jsf/facelets"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core"
xmlns:a4j="http://richfaces.org/a4j"
xmlns:r="http://richfaces.org/rich">
<head><title>***DUMMY***</title></head>
<body>
<h:outputText value="#{mainJavaTest.stg}"/>
<p/><h:commandButton value="toto" action="#{mainJavaTest.doStg}" type="submit"/>
<p/><h:commandButton value="toto2" action="#{mainJavaTest.doStg}"/>
<p/><a4j:commandButton value="toto-a4j" action="#{mainJavaTest.doStg}"/>
<p/><h:commandButton value="toto faux" action="#{mainJavaTest.doStg123}" type="submit"/>
<p/><h:commandButton value="toto2 faux" action="#{mainJavaTest.doStg123}"/>
<p/><a4j:commandButton value="toto-a4j faux" action="#{mainJavaTest.doStg123}"/>
</body>
</html> |
J'obtiens bien "something" contenu dans mainJavaTest.stg, mais aucun des boutons ne marche ! Et ça ne plante pas quand je clique sur les trois derniers boutons.
Pour info, j'utilise facelet, JSF 1.2 (et richfaces, mais pas visible ici).
Que fais-je mal ? J'ai également essayé de faire intervenir des balises <f:view>, mais sans succès, cela peut-il provenir de là ?
Thanks a lot :)