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 :

[JSF] plusieurs bean dans le meme page jsp


Sujet :

JSF Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé Avatar de AmineDev9
    Inscrit en
    Décembre 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 193
    Par défaut [JSF] plusieurs bean dans le meme page jsp
    je développe une application web jsf hibernate jboss
    - table : personne (nom, prenom)
    - face-config.xml :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <managed-bean>
    		<managed-bean-name>Pers</managed-bean-name>
    		<managed-bean-class>com.personne</managed-bean-class>
    		<managed-bean-scope>session</managed-bean-scope>
    </managed-bean>
    -page admin.jsp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    <h:panelGrid border="1" columns="2">
        <h:outputText value="nom"></h:outputText>
        <h:inputText value="Pers.nom"></h:inputText>
        <h:outputText value="prenom"></h:outputText>
        <h:inputText value="Pers.prenom"></h:inputText>
    </h:panelGrid>
    <h:commandButton value="enregistrer" action="Pers.insert">/h:commandButton>
    je veut réaliser une page jsp comme la suivante:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <h:panelGrid border="1" columns="2">
        <h:outputText value="nom"></h:outputText>
        <h:outputText value="prenom"></h:outputText>
     
        <!-- 1er personne -->
        <h:inputText value="    "></h:inputText>
        <h:inputText value="    "></h:inputText>
        <!-- 2eme personne -->
        <h:inputText value="     "></h:inputText>
        <h:inputText value="     "></h:inputText>
     
    </h:panelGrid>
    <h:commandButton value="enregistrer" action="       ">/h:commandButton>
    l'action de bouton permet d'enregistrer les 2 personnes
    j'ai une idée de créer une class ListePersonne:
    qui contient comme attribut une liste de personne (ou tableau T)
    par la suite définir mon nouveau bean ListePersonne
    et aprés l'utilisé dans ma page jsp comme ça:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    <h:panelGrid border="1" columns="2">
        <h:outputText value="nom"></h:outputText>
        <h:outputText value="prenom"></h:outputText>
     
        <!-- 1er personne -->
        <h:inputText value=" ListePersonne.T[0].nom"></h:inputText>
        <h:inputText value=" ListePersonne.T[0].prenom "></h:inputText>
        <!-- 2eme personne -->
        <h:inputText value=" ListePersonne.T[1].nom"></h:inputText>
        <h:inputText value=" ListePersonne.T[1].prenom"></h:inputText>
     
    </h:panelGrid>
    <h:commandButton value="enregistrer" action=" ListePersonne.ajout">/h:commandButton>
    la fonction d'ajout de bean ListePersonne:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    public String ajout (){
    for(int i=0;i<2;i++)
    {
      //cette fonction permet d'ajouter une personne
       ListePersonne.T[i].insert();
    }
    }
    Es -t- il possible de réaliser ça !!!???
    je teste ce que je veut faire mais dans la page jsp:
    lorsque je tape <h:inputText value=" ListePersonne.T[1].nom"></h:inputText>
    il n'est pas correcte !!! car ListePersonne.T[1] n'est pas un bean

    aide moi svp ,c'est urgent
    avez vous d'autre idée

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 426
    Par défaut
    Bonjour,
    lorsque je tape <h:inputText value=" ListePersonne.T[1].nom"></h:inputText>
    il n'est pas correcte !!! car ListePersonne.T[1] n'est pas un bean
    Je crois que tu n'as pas besoin du fonction ajout(), les setters vont faire l'affaire.
    As tu déclaré le setter du tableau t, il faut réaliser setT() et l'appel sera avec ListePersonne.t[1].nom?

  3. #3
    Membre confirmé Avatar de AmineDev9
    Inscrit en
    Décembre 2007
    Messages
    193
    Détails du profil
    Informations forums :
    Inscription : Décembre 2007
    Messages : 193
    Par défaut
    bonjour
    Je crois que tu n'as pas besoin du fonction ajout(), les setters vont faire l'affaire.
    As tu déclaré le setter du tableau t, il faut réaliser setT() et l'appel sera avec ListePersonne.t[1].nom?
    Oui , le setT() est déja déclaré
    Pour la fonction ajout(): elle permet d'ajouter une liste des personnes dans la table de la base de donnée.
    je pense que le problème est dans la déclaration de bean ListePersonne

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Décembre 2008
    Messages
    426
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : Tunisie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 426
    Par défaut
    Essaye de déclarer la liste de personne comme étant de type List cad
    List<personne>

  5. #5
    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
    Si tu as que deux personnes tu peux utiliser 4 variables..

  6. #6
    Membre confirmé
    Profil pro
    Inscrit en
    Août 2003
    Messages
    129
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Août 2003
    Messages : 129
    Par défaut
    Ton managed Bean ne doit pas être un objet métier, mais une classe qui contient les objets métier et les traitements nécessaires à ta jsp, à comparer grosso modo avec les actions struts (enfin c'est comme ça que je le vois, je ne suis pas allé très loin avec Jsf).

    monManagedBeanPersonne <- declaré dans le facesConfig.xml

    et dans cette classe tes objets métiers (com.personne dans ton cas), listes d'objets métiers etc:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    Personne maPersonneAjout;
    List<Personne> maListePersonne;
     
    //et tes traitements pour ta jsp
    [...]
    private String insererPersonne() {
    monAppelDao.insererPersonne(this.maPersonneAjout);
    return ...
    }
    dans ta jsp tu vas donc utiliser par exemple pour un inputText:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
     <xyz:inputText value="#{monManagedBeanPersonne.maPersonneAjout.nom}"/>
    etc...
    Apres si tu veux juste ajouter deux personnes dans ton formulaire tu peux déclarer deux objets Personne dans ton managedBean, et utiliser leurs référence dans ta jsp et tes traitements...
    Pour la liste d'objets ça doit se faire aussi, à voir si tu ne peux pas itérer avec une balise type forEach ou panelSeries d'iceFaces histoire que ça te crée dynamiquement un formulaire adapté au nombre d'objets dans ta liste.

Discussions similaires

  1. Plusieurs graph dans une meme page
    Par maxtin dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 05/02/2008, 11h26
  2. [PDO] se connecter à plusieurs bases dans la meme page
    Par mickael.guilbert dans le forum PHP & Base de données
    Réponses: 2
    Dernier message: 11/01/2008, 18h07
  3. prb avec la touche entrée et plusieurs submit dans la meme page
    Par nsdcrew dans le forum Général JavaScript
    Réponses: 1
    Dernier message: 21/08/2007, 10h30
  4. appel de plusieurs .js dans la meme page
    Par nicerico dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 18/01/2007, 09h13
  5. [STRUTS] Plusieurs actions dans une meme page
    Par DarkWark dans le forum Struts 1
    Réponses: 22
    Dernier message: 10/01/2006, 16h18

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