IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

JSF Java Discussion :

Affichage d'un champ avec jsf 1.2


Sujet :

JSF Java

  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 119
    Par défaut Affichage d'un champ avec jsf 1.2
    Bonjour,

    J'ai decider de passer de jsf 1.1 à jsf 1.2 ( migration de tomcat de 5.5 à 6.0 ).
    Cette migration me fait deconner le premier formulaire.

    Voila le formulaire login.jsp:

    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
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
     
    <html>
    	<body>
    		<f:view>
     
    				<h:outputText value="Identifiant / login : " />
    				<h:inputText value="#{userBean.loginUser}" />
    				<br/>
     
    				<h:outputText value="Mot de passe : " />
    				<h:inputSecret value="#{userBean.passwordUser}" />
    				<br/>
     
    				<h:commandButton action="#{userBean.validate}" value="Connection" />
    				<h:commandButton action="inscription" value="Inscription" />
     
    		</f:view>
    	</body>
    </html>
    Rien de sorcier.

    Voila le fichier de configuration jsf : 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
     
    <?xml version="1.0" encoding="UTF-8"?>
     
    <!DOCTYPE faces-config PUBLIC
        "-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.1//EN"
        "http://java.sun.com/dtd/web-facesconfig_1_1.dtd">
     
    <faces-config>
    	<managed-bean>
    		<managed-bean-name>userBean</managed-bean-name>
    		<managed-bean-class>fr.my.manager.UserBean</managed-bean-class>
    		<managed-bean-scope>session</managed-bean-scope>
    	</managed-bean>
    </faces-config>
    Le web.xml : ( généré par eclipse. )

    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
     
    <?xml version="1.0" encoding="UTF-8"?>
    <web-app id="WebApp_ID" version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
    	<display-name>JSF_HIBERNATE_SPRING</display-name>
     
    	<context-param>
    		<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
    		<param-value>client</param-value>
    	</context-param>
     
    	<servlet>
    		<servlet-name>Faces Servlet</servlet-name>
    		<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    		<load-on-startup>1</load-on-startup>
    	</servlet>
     
    	<context-param>
    	    <param-name>javax.faces.CONFIG_FILES</param-name>
    	    <param-value>/WEB-INF/faces-config.xml</param-value>
      	</context-param>
     
    	<!-- Mapping jsf pour les servlets -->
    	<servlet-mapping>
    		<servlet-name>Faces Servlet</servlet-name>
    		<url-pattern>/faces/*</url-pattern>
    	</servlet-mapping>
     
    	<!-- Fichier d'accueil-->
    	<welcome-file-list>
    		<welcome-file>index.html</welcome-file>
    	</welcome-file-list>
    </web-app>
    et pour finir le bean manager qui correspond à mon formulaire : UserBean.java

    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
    54
     
    package fr.my.manager;
     
    public class UserBean {
     
    	private int idUser;
    	private int idRole;
    	private String loginUser;
    	private String passwordUser;
     
    	public UserBean() {
    	}
     
    	public int getIdUser() {
    		return this.idUser;
    	}
     
    	public void setIdUser(int idUser) {
    		this.idUser = idUser;
    	}
     
    	public String getLoginUser() {
    		return this.loginUser;
    	}
     
    	public void setLoginUser(String loginUser) {
    		this.loginUser = loginUser;
    	}
     
    	public String getPasswordUser() {
    		return this.passwordUser;
    	}
     
    	public void setPasswordUser(String passwordUser) {
    		this.passwordUser = passwordUser;
    	}
     
    	public int getIdRole() {
    		return this.idRole;
    	}
     
    	public void setIdRole(int idRole) {
    		this.idRole = idRole;
    	}
     
    	public String validate(){
    		if (this.loginUser.equals("romain") && this.passwordUser.equals("13041983")){
    			return "loginSuccess";
    		}
    		else{
    			return "loginFail";
    		}
    	}
    }
    Mon probleme :

    Lors de l'affichage de la page ça affiche dans le champs du login ( le premier ) ça : "#{userBean.loginUser}".

    Je comprend pas on dirai qu'il comprend pas que c'est un appel au bean...
    Si qqun à une idée ?

  2. #2
    Membre confirmé
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2010
    Messages
    28
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Maroc

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juillet 2010
    Messages : 28
    Par défaut <h:form> manquant
    bonjour

    je crois qu'il te manque le <h:form>

    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
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <%@taglib uri="http://java.sun.com/jsf/html" prefix="h"%>
    <%@taglib uri="http://java.sun.com/jsf/core" prefix="f"%>
     
    <html>
    	<body>
    		<f:view>
    			<h:form>
    				<h:outputText value="Identifiant / login : " />
    				<h:inputText value="#{userBean.loginUser}" />
    				<br/>
    				
    				<h:outputText value="Mot de passe : " />
    				<h:inputSecret value="#{userBean.passwordUser}" />
    				<br/>
    				
    				<h:commandButton action="#{userBean.validate}" value="Connection" />
    				<h:commandButton action="inscription" value="Inscription" />
    			</h:form>
    		</f:view>
    	</body>
    </html>

  3. #3
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 119
    Par défaut
    c'etait bien vu j'y es presque cru mais non ça ne marche pas avec ((
    Cela dit tu as bien fait de me le dire parceque je l'avais completement zappé.

    Le plus bisarre c'est que si je passe des point d'arret dans la methode "validate" de mon bean manager UserBean et bien il rentre bien. Donc le bean manager est bien declaré alors pourquoi il me trouve pas mes champs ????? La serieux je comprends pas ce qu'il manque...

    Je veux aussi preciser que les regles de navigations ( que je n'ai pas mis dans le fichiers faces-config.xml pour plus de clarté ) fonctionne parfaitement si j'initilialise les variables login et password. Voila donc en fait la seule chose que jsf n'arrive pas à faire c'est remplir mes champs ... et y associer les valeurs tapé lors de la soumission du formulaire...


  4. #4
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    sans h:form, aucune valeur n'est envoyée au serveur, et le bon comportement des commandButton et règles de navigation n'est pas assuré.

  5. #5
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 119
    Par défaut
    justement je l'ai bien ajouté comme il faut mais ça n'empeche pas l'affichage des champs : #{bean.champ} ... Je comprend pas. Tout les comportements en dehors marche merveilleusement bien. Il n'y a que l'acces aux données du bean qui deconne... Vraiment la je seche...

    Je me tate à revenir à JSF 1.1 au moins ça marchait...
    Vraiment j'ai essayé d'autre formulaire prechargé tout ça et meme resultat je me tate la commande d'acces au champs du bean... Je craque

  6. #6
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    change le doctype du faecs-config pour mettre celui qui est compatible avec JSF 1.3, refait les tests, si tu as une erreur, post l'exception, sinon décrit bien l'enchainement et ce qui ne marche pas.

    Il n'y a pas de différence entre JSF 1.1 et JSF 1.2 à ce niveau là..

  7. #7
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 119
    Par défaut
    Il s'agit bien d'un probleme de JSF et de version de JSF...
    J'ai modifié le doc type mon fichier faces-config.xml en remplacant :

    ( code ci dessous généré par eclipse pour jsf 1.2 ).

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <!DOCTYPE faces-config PUBLIC
    	"-//Sun Microsystems, Inc.//DTD JavaServer Faces Config 1.0//EN"
    	"http://java.sun.com/dtd/web-facesconfig_1_0.dtd">
    par ( code ci dessous trouvé dans les exemples des libraires JSF 1.2 )

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <faces-config xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd" version="1.2">
    Apres ça j'ai donc un probleme niveau projet :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Faces 1.2 application configuration cannot be used in projects for Faces 1.1 or before	faces-config.xml	/JSF_HIBERNATE_SPRING/WebContent/WEB-INF
    c'est tres bisarre puisque j'ai demandé à eclipse de me creer un projet JSF 1.2 et que je lui ai bien mis les implementations jsf 1.2 + Jstl + standar + dependances diverses.

    Donc je ne comprend pas tres bien...

  8. #8
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    c'est peu être juste un problème avec Eclipse, tu peux modifier la version du projet.
    Est ce que tu utilise les jars d'Eclipse?

  9. #9
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 119
    Par défaut
    j'ai refait un test en telechargeant des jar jsf ( ceux d'apache et ceux de oracle ) et la meme probleme.
    Concernant les jar d'eclipse c'est les jar j2ee de base.

    je vais recreer un projet pour voir si il y a pas eu un soucis qqpart..

  10. #10
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 119
    Par défaut
    il semblerai que se soit bien un probleme de version de jar d'eclipse puis de jsf mais aussi de jstl...

    Bref j'avais la complete. La je repart proprement mais j'ai un soucis le voici :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    Classpath entry org.eclipse.jdt.USER_LIBRARY/JSF 1.2 (Apache Myfaces JSF Core-1.2 API 1.2.8) will not be exported or published. Runtime ClassNotFoundExceptions may result.
    Hors la seul chose que j'ai rajouté c'est les jar jstl et standar pour les taglibs... Franchement la si le sort s'acharne pas sur moi je sais pas ...

  11. #11
    Rédacteur

    Profil pro
    Inscrit en
    Juin 2003
    Messages
    4 184
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 184
    Par défaut
    il semble que c'est un problème de déploiement, nottoie ton projet et relance le serveur.
    C'est pour ça que c'est bien d'utiliser maven

  12. #12
    Membre confirmé
    Profil pro
    Inscrit en
    Juin 2006
    Messages
    119
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Juin 2006
    Messages : 119
    Par défaut
    oui je crois que je vais plus jamais utiliser eclipse la... je me suis forcé en me disant va y fait lui confiance... Mais la je craque... Avant j'utilisait ant et j'ai jamais trop eu ce genre de probleme...

    Et meme quand j'utilisait netbeans... un vrai bonheur ce netbeans...
    Bref ))))

    Je nettoies tout et je recommence je te tiens au courant...
    Merci à toi en tout cas pour la rapidité de tes reponses ))

  13. #13
    Invité de passage
    Inscrit en
    Septembre 2010
    Messages
    1
    Détails du profil
    Informations forums :
    Inscription : Septembre 2010
    Messages : 1
    Par défaut problème de version de tomcat
    Bonjour,

    J'avais le même problème il y a quelques instants et il s'avère que c'est la version que j'avais de Tomcat, la 6.0.29, qui cause problème, j'ai essayé avec la 6.0.18 et ça a l'air de marcher nickel. Il me reste de tester si ça a été corrigé dans la version 7.

    Cordialement

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Affichage rapport depuis Ireport avec jsf
    Par sassou2 dans le forum JSF
    Réponses: 0
    Dernier message: 13/08/2011, 18h40
  2. Problème d'affichage d'une liste avec JSF
    Par passion_info dans le forum JSF
    Réponses: 7
    Dernier message: 20/07/2011, 10h12
  3. affichage d'un champ avec liste de choix dans un état
    Par DonQuiShoote dans le forum IHM
    Réponses: 16
    Dernier message: 20/05/2007, 23h39
  4. Affichage de nouveau champ de formulaire avec une case à cocher
    Par breizhgen dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 04/09/2006, 21h46
  5. Réponses: 7
    Dernier message: 06/03/2006, 15h38

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo