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 :

comment faire pour amener les données de BD à la page JSP


Sujet :

JSF Java

  1. #1
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 25
    Points : 17
    Points
    17
    Par défaut comment faire pour amener les données de BD à la page JSP
    Bonjour a tous,
    mon pb consiste lors de l'extraction des données de BD. en faite, à l'aide des log j'ai pu contrôler que les données sont biens captées et sont bien correctes mais j'ai pas pu les exploiter dans ma page JSP.(on dirait que je suis entrain d'appeler une fausse bean ou j'ai pas déclarer la bean...)

    le code de bean.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
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
     
    package beanPackage;
    import java.util.Iterator;
    import java.util.List;
    import org.apache.log4j.Logger;
    import org.hibernate.Session;
    import org.hibernate.Transaction;
     
    public class Bean1 {
        Logger log = Logger.getLogger(this.getClass().getName());
        private int id;
        private String name;
        private String pwd;
     
        public int getId() {
            return id;
        }
        public void setId(int id) {
            this.id = id;
        }
        public String getName() {
            return name;
        }
        public void setName(String name) {
            this.name = name;
        }
        public String getPwd() {
            return pwd;
        }
        public void setPwd(String pwd) {
            this.pwd = pwd;
        }
     
        public String login1()
        { String S="lol";
          String X="rr";
     
        if(name.isEmpty())
        {
            S="login";
            X="name vide";
        }
        else if(pwd.isEmpty())
        {
            S="login"; 
            X="pwd vide";
        }
        else S="formation";
        System.out.println(X);
        return (S);}
     
        public String yyy(){
     
            Session session = null;
     
            String S=null;
            if(name.isEmpty()){
                S="rejected";
            }
            else 
            {
                session = HibernateSessionFactory.currentSession();
                Transaction tx = session.beginTransaction();
                Bean1 user=new Bean1();
                //user.setId(9);
                //user.setId(4);
                user.setName(this.name);
                user.setPwd(this.pwd);
                session.save(user);
                tx.commit();
                List users = session.createQuery("select u from Bean1 as u ")
                .list();
                log.info("list users");
                for (Iterator iter = users.iterator(); iter.hasNext();) {
                Bean1 element = (Bean1) iter.next();
                log.info(element.getName()+element.getPwd());
                }
                S="accepted";
            }
            return S ;
        }
     
        public String capDonnées()
     
        {    Session session = null;
            String S=null;
            session= HibernateSessionFactory.currentSession();
            Transaction tx = session.beginTransaction();
            Bean1 user1 =null;
            user1= new Bean1();
               List user= session.createQuery("from Bean1 u where u.id=7").list();
            user1=(Bean1) user.get(0);
            log.info(user1.getName());
            log.info(user1.getPwd());    
            S="mmm";
            return S ;
        }    
    }
    le code de la page de 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
    24
    25
    26
    27
     
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="html" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="core" %>
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title> Amed GP</title>
    </head>
    <body>
    <br> <center> <h2> HOME </h2><br><br>
    <core:view> 
      <html:form>
     <h2> <html:outputText value="Authentification"></html:outputText> </h2><br><br>
        <html:outputLabel value="Login"></html:outputLabel>
        <html:inputText size="20" value="#{bean1.name}"></html:inputText> <br>
        <html:outputLabel value="Password"></html:outputLabel>
        <html:inputSecret size="20" value="#{bean1.pwd}"></html:inputSecret><br>
        <html:commandButton value="Save" action="#{bean1.yyy}"></html:commandButton>
         <html:commandButton value="Récupérer" action="#{bean1.capDonnées}"></html:commandButton>
      </html:form>
     </core:view>
    </center>
    </body>
    </html>
    et le code de la page mmm.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
     
    <%@ taglib uri="http://java.sun.com/jsf/html" prefix="html" %>
    <%@ taglib uri="http://java.sun.com/jsf/core" prefix="core" %>
    <%@ page language="java" contentType="text/html; charset=ISO-8859-1"
        pageEncoding="ISO-8859-1"%>
    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
     
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
    <title> Les valeurs Extraites </title>
    </head>
    <body>
     <core:view>
      <h1> <html:outputText value="Valeurs "></html:outputText> </h1>
     <br>
      <h3> <html:outputText value="#{bean1.name}"></html:outputText> </h3> <br>   
      <html:outputText value="#{bean1.pwd}"></html:outputText><br>
     </core:view>
    </body>
    </html>
    et merci d'avance..

  2. #2
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Bonjour,

    Pourrais-tu être un peu plus clair sur ton problème ?

    Sinon, mettre des accès en BD dans un bean, c'est très laid. Ton bean devrait appeler un Service, qui lui même appelera le DAO (accès à la BD).

    Ton bean, il a quel scope ? request ? session ?

  3. #3
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    mon scope : session

    pour expliquer un peu: la méthode yyy() (dans bean.java) assure l'insertion dans la base de données.(elle fonctionne correctement).
    maintenant je veux extraire des données à partir de la base c-a-d quand je clique sur le bouton "récuperer" (login.jsp) la méthode capDonnées (bean
    .java) se lance et affiche les infos de l'utilisateur ds une autre page mmm.jsp.
    j'ai utilisé les logs et j'ai remarqué ds le console que les valeurs captés suite à la requête select de la méthode capDonnées sont correctes. malgré tout ça, la page mmm.jsp s'affich blanche....!!!!!
    voici le fichier bean1.hbm.xml

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    <?xml version="1.0" encoding='UTF-8'?>
    <!DOCTYPE hibernate-mapping PUBLIC
                                "-//Hibernate/Hibernate Mapping DTD 3.0//EN"
                                "http://hibernate.sourceforge.net/hibernate-mapping-3.0.dtd" >
    <hibernate-mapping package="beanPackage">
        <class name="Bean1" table="user">
            <id name="id" column="id" type="java.lang.Integer">
                <generator class="increment"/>
          </id>
            <property name="name" column="name" type="java.lang.String" />
            <property name="pwd" column="pwd" type="java.lang.String" />
         </class>
    </hibernate-mapping>
    et voici le 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
    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
    55
    56
    57
    <?xml version="1.0" encoding="UTF-8"?>
     
    <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">
     
    <!-- 	<navigation-rule>
    	  <from-view-id>/login.jsp</from-view-id>
    		<navigation-case>
    			<from-outcome>formation</from-outcome>
    			<to-view-id>/formation.jsp</to-view-id>
    		</navigation-case>
    		<navigation-case>
    			<from-outcome>login</from-outcome>
    			<to-view-id>/login.jsp</to-view-id>
    		</navigation-case>
    	</navigation-rule>
    	-->
    	<navigation-rule>
     
    	  <from-view-id>/login.jsp</from-view-id>
    		<navigation-case>
    			<from-outcome>accepted</from-outcome>
    			<to-view-id>/accepted.jsp</to-view-id>
    			<redirect/> 
    		</navigation-case>
    		<navigation-case>
    			<from-outcome>rejected</from-outcome>
    			<to-view-id>/rejected.jsp</to-view-id>
    			<redirect/> 
    		</navigation-case>
    		<navigation-case>
    			<from-outcome>mmm</from-outcome>
    			<to-view-id>/mmm.jsp</to-view-id>
    			<redirect/> 
    		</navigation-case>
     
    	</navigation-rule>
     
    	<managed-bean>
    		<managed-bean-name>	bean1</managed-bean-name>
    		<managed-bean-class> beanPackage.Bean1</managed-bean-class>
    		<managed-bean-scope> session</managed-bean-scope>
    		<!--  <managed-property>
    		<property-name>name</property-name>
    		<value>aa</value>
    		</managed-property>
    		<managed-property>
    		<property-name>pwd</property-name>
    		<value>aa</value>
    		</managed-property> -->
     
    	</managed-bean>
     
    </faces-config>

  4. #4
    Membre à l'essai
    Inscrit en
    Avril 2007
    Messages
    25
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations forums :
    Inscription : Avril 2007
    Messages : 25
    Points : 17
    Points
    17
    Par défaut
    aussi romaintaz;
    peut-tu m'aider à utiliser le concept des services, DAO, que tu vient de parler. car je suis débutant ds le développement web en cé la première fois ke j'utilise JSF et hibernate donc est-ce ke tu peut me définir les fichiers à mettre ds chaque package avec des exemples si ca nous vous dérange pas.
    et merci d'avance...!

  5. #5
    Rédacteur
    Avatar de romaintaz
    Homme Profil pro
    Java craftsman
    Inscrit en
    Juillet 2005
    Messages
    3 790
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Java craftsman
    Secteur : Finance

    Informations forums :
    Inscription : Juillet 2005
    Messages : 3 790
    Points : 7 275
    Points
    7 275
    Par défaut
    Citation Envoyé par mido_bc Voir le message
    aussi romaintaz;
    peut-tu m'aider à utiliser le concept des services, DAO, que tu vient de parler. car je suis débutant ds le développement web en cé la première fois ke j'utilise JSF et hibernate donc est-ce ke tu peut me définir les fichiers à mettre ds chaque package avec des exemples si ca nous vous dérange pas.
    et merci d'avance...!
    Si tu as un peu de temps, regarde ce post, il y a plein de choses utiles.
    Le concept dont je parlais s'appelle MVC.

Discussions similaires

  1. Réponses: 4
    Dernier message: 16/06/2011, 12h07
  2. Réponses: 1
    Dernier message: 04/11/2009, 00h39
  3. Réponses: 4
    Dernier message: 11/05/2009, 14h48
  4. Comment faire pour afficher les informations d'une base de donnée
    Par bonnet85 dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 28/03/2008, 09h24
  5. Comment faire pour récup une donnée d'une liste déroulante
    Par magic8392 dans le forum Général JavaScript
    Réponses: 8
    Dernier message: 03/03/2005, 15h00

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