Hello tout le monde !!!
Bon, j'ai réussi à avoir de belles pages comme je les souhaitait,
maintenant viens le point qui m'intéresse beaucoup : ajax.
Cependant il est difficile de trouver de la bonne documentation sur le web (les jsf 2.0 n'étant pas encore très répandues).
Alors j'ai fait mon petit test personnel avec ce que j'ai réussi à glaner sur le web...
Ce que j'essaie de faire : changer le contenu de "contenu" lorsque je clique sur le commandButton "pageRegle" tout en changeant, côté serveur la valeur de mon champ nom dans mon bean environnement.
J'ai donc une page xhtml comme ceci :
Et un template comme ceci
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 <?xml version='1.0' encoding='UTF-8' ?> <!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:h="http://java.sun.com/jsf/html" xmlns:ui="http://java.sun.com/jsf/facelets" xmlns:f="http://java.sun.com/jsf/core"> <h:body> <ui:composition template="/template/base.xhtml"> <ui:define name="titre">Mon titre</ui:define> <ui:define id="haut" name="haut">monhaut</ui:define> <ui:define name="gauche"> <h:commandButton id="pageConnexion" value="se connecter"/> <h:commandButton id="pageInscription" value="s'inscrire"/> <h:commandButton id="pageRegle" value="les règles" action="#{environnement.setNom('holé')}"> <f:ajax render="contenu"/> </h:commandButton> </ui:define> <ui:define id="contenu" name="contenu">#{environnement.nom}</ui:define> </ui:composition> </h:body> </html>
Et enfin mon message d'erreur (si il vous en faut plus je peux publier mais le message me semble suffisamment explicite)
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 <?xml version='1.0' encoding='UTF-8' ?> <!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"> <h:head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> <link href="./resources/css/default.css" rel="stylesheet" type="text/css" /> <link href="./resources/css/cssLayout.css" rel="stylesheet" type="text/css" /> <title> <ui:insert name="titre">Titre par défault</ui:insert> </title> </h:head> <h:body> <div id="top" class="top"> <h2> <ui:insert name="titre">Titre par défault</ui:insert> </h2> <ui:insert name="haut">Haut par défault</ui:insert> </div> <div> <div id="left"> <ui:insert name="gauche">gauche par défaut</ui:insert> </div> <div id="content" class="left_content"> <ui:insert id="content" name="contenu">contenu par défaut</ui:insert> </div> </div> </h:body>
Avez vous une idée de ce qu'il faut faire ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2<f:ajax> contains an unknown id 'contenu' - cannot locate it in the context of the component pageRegle
Merci
Partager