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 on fait appel aux méthodes métiers en utilisant Visual Web JSF


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 167
    Par défaut comment on fait appel aux méthodes métiers en utilisant JSF
    Salut,
    je cherche des tutoriels (ou lien)concerant l'utilisation du framework "visual wed JSF", et l'appel aux méthodes métier, en effet, à partir de mes recherches, j'ai trouvé sauf les cas classiques et simples qui font appel à la BD sans utiliser les EJB, et je ne sais pas comment faire pour appeler les méthodes de la couche métiers?
    merci d'avance

    de plus, je vous demande un conseil, c'est mieux d'utiliser JSF ou Visual Web JSF? je sais que ce dernier est plus facile à créer des interfaces graphiques mais je veux connaitre quel est entre ces deux le plus facile lors d'appel des session bean.
    SVP, aidez-moi à résoudre mes 2 problèmes (choix de framework+appel des méthodes métiers).
    je vous remercie d'avance.

  2. #2
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 167
    Par défaut urgent
    Salut,
    puisque je ne trouve pas beaucoup des documents concernant le framework "Visual web JSF", j'ai changé mon choix de framework, c'est à dire , j'ai choisi "JSF",
    en effet, l'architecture de mon projet web est la suivante:
    BD=> Entity Class=>Façade=>Pages web (JSF)
    par exemple, pour la page d'accueil, chaque utilisateur doit entrer son login et son mot de passe qui sont enregistrés dans la base de données.
    voici, le simple code que je fais:
    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
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
     
    <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
    <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
    <f:view>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>JSP Page</title>
        </head>
        <body>
    <h:form id="logform">
    <h:panelGrid columns="3">
    <h:panelGroup id="l">
    <h:outputText value="Login "/>
    <h:inputText id="log" required="true" size="10"value="#{medecin.login}">
    </h:inputText>
    </h:panelGroup><br>
    <h:panelGroup id="p">
    <h:outputText value="Password "/>
    <h:inputSecret id="pass" required="true" maxlength="8" size="10"
    value="#{medecin.motPasse}">
    <f:validateLength minimum="3" maximum="8" />
    </h:inputSecret>
    </h:panelGroup><br>
    <h:commandButton value="Connecter" action="Menu"/>
    <h:message for="pass" showSummary="true" showDetail="false"/>
    <h:message for="logform" />
    </h:panelGrid>
    </h:form>          
     </body>
    </html>
    </f:view>
    et ceci le code au sein du 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
    <faces-config version="1.2" 
        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">
    <managed-bean>
    <managed-bean-name>medecin</managed-bean-name>
    <managed-bean-class>monpkg.entites.Medecins</managed-bean-class>
    <managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
    <navigation-rule>
    <display-name>Menu</display-name>
    <from-view-id>/Page1.jsp</from-view-id>
    <navigation-case>
    <from-outcome>menu</from-outcome>
    <to-view-id>/Page2.jsp</to-view-id>
    </navigation-case>
    </navigation-rule>
    en effet, je n'arrive pas à lier la couche web à la couche métier.
    svp, y a -t-il quelqu'un qui peut me donner un coup de main; et merci d'avance.

  3. #3
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut
    Dans la déclaration de ton faces-config il faut que tu déclares une managed property qui fera appel à ton service métier

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    <managed-bean-property>
       <property-name>Name of the bean property.</property-name>
       <value>Default value of the property.</value>
    </managed-bean-property>
    et également définir un couple de getter / setter dans ton managed bean pour cette propriété

  4. #4
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 167
    Par défaut
    Salut,
    Merci *alexandre* pour l'aide,
    donc, j'ai modifié le code, ainsi la page d'accueil:
    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
    <%@page contentType="text/html"%>
    <%@page pageEncoding="UTF-8"%>
     
    <%@taglib prefix="f" uri="http://java.sun.com/jsf/core"%>
    <%@taglib prefix="h" uri="http://java.sun.com/jsf/html"%>
     
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
       "http://www.w3.org/TR/html4/loose.dtd">
     
    <%--
        This file is an entry point for JavaServer Faces application.
    --%>
    <f:view>
    <html>
        <head>
            <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
            <title>JSP Page</title>
        </head>
        <body>    
            <h:form id="formonglet">
                Login :        <h:inputText id="login" value="#{medecin.login}" />
                <br>
                Mot de passe : <h:inputText id="motPasse" value="#{medecin.motPasse}"/>
                <br>
                <input type="submit" action="success" value="Connecter" />
            </h:form> 
        </body>
    </html>
    </f:view>
    le fichier de configuration :
    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'?>
     
    <!-- =========== FULL CONFIGURATION FILE ================================== -->
     
    <faces-config version="1.2" 
        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">
       <managed-bean>
            <managed-bean-name>medecin</managed-bean-name>
            <managed-bean-class>monpkg.entites.Medecins</managed-bean-class>
            <managed-bean-scope>session</managed-bean-scope>
            <managed-property>
                <property-name>login</property-name>
                <property-class>monpkg.entites.Medecins</property-class>
                <value>#{login}</value>
            </managed-property>
            <managed-property>
                <property-name>motPasse</property-name>
                <property-class>monpkg.entites.Medecins</property-class>
                <value>#{motPasse}</value>
            </managed-property>
        </managed-bean>
    <navigation-rule>
                  <from-view-id>/Page1.jsp</from-view-id>
           <navigation-case>
                  <from-outcome>success</from-outcome>
                  <to-view-id>/Page2.jsp</to-view-id>
           </navigation-case>
     </navigation-rule>
    </faces-config>
    Mon problème est le suivant: en faisant enter le login et le mot de passe qui sont enregistrés dans la base de données, puis, on clique sur le bouton "connecter", la même page (Page1.jsp) se charge et pas passage à l'autre page web, tandis que, la navigation est configurée dans le fichier faces-config.xml.
    svp, j'attends vos aides (je suis un peu débutant pour JSF)
    Merci d'avance.

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2009
    Messages
    167
    Détails du profil
    Informations forums :
    Inscription : Mars 2009
    Messages : 167
    Par défaut
    Bonjour,
    j'ai changé le code au sein de la page web, c'est à dire, j'ai remplacé
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <input type="submit" action="success" value="Connecter" />
    par le code suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <h:commandButton id="idBouton" action="success" value="Connecter" />
    Mais, en entrant des valeurs qui ne sont pas stockées dans la base de données, il y a aussi passage à la page2.
    Je sais qu'il faudra un code pour le test des valeurs , mais, je ne sais pas comment le faire (sachant que je voudrais que des utilisateurs distants peuvent accéder par leurs logins et mots de passes qui sont stockées dans la base de données)
    j'attends un coup de main, merci d'avance

  6. #6
    Inactif  
    Profil pro
    Inscrit en
    Mai 2006
    Messages
    2 189
    Détails du profil
    Informations personnelles :
    Âge : 45
    Localisation : Suisse

    Informations forums :
    Inscription : Mai 2006
    Messages : 2 189
    Par défaut
    sun à décider d'abandonner le projet woodstock pour privilégié icefaces ...mais si tu désires réellement utilisé jsf uniquement dans le code de ton action il faut que tu retournes un success ou failure (par exemple)

    j'aime personellement pas trop la manière dont la manière JSF simple utilise les navigation rules, je préfère de loin les actionListener de icefaces avec une paramétrisation des pages web ce qui permet d'alléger le code des managed bean avec la création d un mini moteur de worklow

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

Discussions similaires

  1. Réponses: 2
    Dernier message: 16/11/2009, 11h45
  2. [POO] Appel aux méthodes
    Par Simon30 dans le forum Général JavaScript
    Réponses: 6
    Dernier message: 16/10/2008, 20h08
  3. Réponses: 0
    Dernier message: 11/12/2007, 11h42
  4. Réponses: 10
    Dernier message: 23/06/2007, 16h13
  5. pb d'appel aux fonctions d'une DLL (visual C++ 6.0)
    Par touti35 dans le forum Visual C++
    Réponses: 4
    Dernier message: 12/12/2006, 09h37

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