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

Struts 1 Java Discussion :

récupération des données d'une table dans une page jsp


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Février 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 42
    Par défaut récupération des données d'une table dans une page jsp
    Bonjour ,

    je travaille sur une application en utilisant struts,
    ce que je veux faire c'est

    1- récupérer des données de ma table pour les mettre dans une liste déroulante dans un formulaire (fiche.jsp)

    2- puis choisir de cette liste une entité et remplir les autres champs pour ajouter une fiche dans la table fiche.

    voici le code de ma page.

    fiche.jsp

    <%@ taglib uri="/WEB-INF/struts-html.tld" prefix="html"%>
    <%@ taglib uri="/WEB-INF/struts-bean.tld" prefix="bean"%>
    <%@ taglib uri="/WEB-INF/struts-logic.tld" prefix="logic"%>
    <%@ taglib uri="/WEB-INF/struts-tiles.tld" prefix="tiles" %>

    <html:form action="gfiche.do">
    Sujet: <html:text property="sujet" value=""></html:text>
    Auteur: <html:text property="auteur" value=""></html:text>
    E-mail: <html:text property="mail" value=""></html:text>
    Groupe : <html:select property="groupe">
    <html:option value="ESF">ESF </html:option>
    <html:option value="ECD">ECD</html:option>
    <html:option value="ECE">ECE</html:option>
    </html:select>
    Langue: <html:text property="langue" value=""></html:text>
    Réference Externe: <html:text property="reference_externe" value=""></html:text>
    Description: <html:textarea property="description" value=""></html:textarea>
    Corps: <html:textarea property="corps" value=""></html:textarea>
    Mot cle: <html:text property="mot_cle" value=""></html:text>
    Etat: <html:select property="etat">
    <html:option value="Sauvee">Sauvée </html:option>
    <html:option value="En cours">En cours</html:option>
    <html:option value="Validee">Validée</html:option>
    </html:select>
    Commentaires:
    <html:textarea property="commentaires" value=""></html:textarea>
    Opinion: <html:select property="opinion">
    <html:option value="Satisfaisante">Satisfaisante</html:option>
    <html:option value="Moyenne">Moyenne</html:option>
    <html:option value="Faible">Faible</html:option>
    </html:select>

    <html:select property="idprojet">
    <html:optionsCollection property="Listprojet" value="idprojet" label="Libelle_projet"/>
    </html:select>
    <html:select property="idcategorie">
    <html:optionsCollection property="Listcategorie" value="idcategorie" label="titre"/>
    </html:select>
    <html:select property="iddocument">
    <html:optionsCollection property="Listdocument" value="iddocument" label="Libelle_categorie"/>
    </html:select>



    <html:submit value="Ajouter" property="action"></html:submit>
    </html:form>
    <html:errors/>

    Ficheform (mon bean)

    /* Date datesys = new java.sql.Date(System.currentTimeMillis()); */

    package presentation;

    import java.sql.Date;
    import java.util.List;
    import java.util.Vector;

    import javax.servlet.http.HttpServletRequest;

    import metier.GC_Categorie;
    import metier.GC_Document;
    import metier.GC_Projet;
    import metier.*;

    import org.apache.struts.action.ActionError;
    import org.apache.struts.action.ActionErrors;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionMapping;

    public class FicheForm extends ActionForm{


    private String sujet;
    private String description;
    private String corps;
    private String langue;
    private String groupe;
    private String reference_externe;
    private String auteur ;
    private String mail ;
    private String mot_cle;
    private Date date_modification;
    private Date date_creation ;
    private String etat ;
    private String commentaires ;
    private String opinion;
    private long idprojet;
    private long idcategorie;
    private long iddocument;
    List<GC_Document> Listdocument = new Vector<GC_Document>();
    List<GC_Projet> Listprojet = new Vector<GC_Projet>();
    List<GC_Categorie> Listcategorie= new Vector<GC_Categorie>();

    private String action="";
    //private List documents = new Vector<Fiche>();



    /* Getters and Setters */

    public String getSujet() {
    return sujet;
    }
    public void setSujet(String sujet) {
    this.sujet = sujet;
    }
    public String getDescription() {
    return description;
    }
    public void setDescription(String description) {
    this.description = description;
    }
    public String getCorps() {
    return corps;
    }
    public void setCorps(String corps) {
    this.corps = corps;
    }
    public String getLangue() {
    return langue;
    }
    public void setLangue(String langue) {
    this.langue = langue;
    }
    public String getGroupe() {
    return groupe;
    }
    public void setGroupe(String groupe) {
    this.groupe = groupe;
    }
    public String getReference_externe() {
    return reference_externe;
    }
    public void setReference_externe(String reference_externe) {
    this.reference_externe = reference_externe;
    }
    public String getAuteur() {
    return auteur;
    }
    public void setAuteur(String auteur) {
    this.auteur = auteur;
    }
    public String getMail() {
    return mail;
    }
    public void setMail(String mail) {
    this.mail = mail;
    }
    public String getMot_cle() {
    return mot_cle;
    }
    public void setMot_cle(String mot_cle) {
    this.mot_cle = mot_cle;
    }
    public Date getDate_modification() {
    return date_modification;
    }
    public void setDate_modification(Date date_modification) {
    this.date_modification = date_modification;
    }
    public Date getDate_creation() {
    return date_creation;
    }
    public void setDate_creation(Date date_creation) {
    this.date_creation = date_creation;
    }
    public String getEtat() {
    return etat;
    }
    public void setEtat(String etat) {
    this.etat = etat;
    }
    public String getCommentaires() {
    return commentaires;
    }
    public void setCommentaires(String commentaires) {
    this.commentaires = commentaires;
    }
    public String getOpinion() {
    return opinion;
    }
    public void setOpinion(String opinion) {
    this.opinion = opinion;
    }
    public long getIdprojet() {
    return idprojet;
    }
    public void setIdprojet(long idprojet) {
    this.idprojet = idprojet;
    }
    public long getIdcategorie() {
    return idcategorie;
    }
    public void setIdcategorie(long idcategorie) {
    this.idcategorie = idcategorie;
    }
    public long getIddocument() {
    return iddocument;
    }
    public void setIddocument(long iddocument) {
    this.iddocument = iddocument;
    }
    public String getAction() {
    return action;
    }
    public void setAction(String action) {
    this.action = action;
    }

    public List getListdocument() {
    return Listdocument;
    }
    public void setListdocument(List listdocument) {
    Listdocument = listdocument;
    }
    public List getListprojet() {
    return Listprojet;
    }
    public void setListprojet(List listprojet) {
    Listprojet = listprojet;
    }
    public List getListcategorie() {
    return Listcategorie;
    }
    public void setListcategorie(List listcategorie) {
    Listcategorie = listcategorie;
    }

    @Override
    public ActionErrors validate(ActionMapping mapping,
    HttpServletRequest request) {
    ActionErrors errors = new ActionErrors();//collection qui contient les erreurs
    if(sujet.length()==0){
    errors.add("sujetnull", new ActionError("error.sujet.vide"));

    }
    return errors;
    }
    @Override
    public void reset(ActionMapping mapping, HttpServletRequest request) {
    this.sujet="";
    }


    }
    FicheAction

    package presentation;

    import java.sql.Date;
    import java.util.List;

    import javax.servlet.http.HttpServletRequest;
    import javax.servlet.http.HttpServletResponse;

    import presentation.FicheForm;
    import metier.*;
    import org.apache.struts.action.Action;
    import org.apache.struts.action.ActionForm;
    import org.apache.struts.action.ActionForward;
    import org.apache.struts.action.ActionMapping;
    import org.apache.struts.action.ActionMessage;
    import org.apache.struts.action.ActionMessages;

    public class FicheAction extends Action{



    public ActionForward execute(ActionMapping mapping, ActionForm form,
    HttpServletRequest request, HttpServletResponse response)
    throws Exception {

    FicheForm fform=(FicheForm)form;
    Operation o = new Operation();


    ActionMessages errors = form.validate(mapping,request);
    if ( !errors.isEmpty() )
    {
    this.saveErrors(request,errors);
    }else {

    fform.setListcategorie(o.getToutcategorie());
    fform.setListdocument(o.getToutdocument()) ;
    fform.setListprojet(o.getToutprojet());

    System.out.println(fform.getListprojet().size());

    o.addFiche(fform.getSujet(), fform.getDescription(),
    fform.getCorps(),fform.getLangue(), fform.getGroupe(),
    fform.getReference_externe(),fform.getAuteur(),fform.getMail(),
    fform.getMot_cle(),fform.getDate_modification(), fform.getDate_creation(),
    fform.getEtat(),fform.getCommentaires(), fform.getOpinion(),
    fform.getIdprojet(), fform.getIddocument(),fform.getIdcategorie());
    }



    return mapping.findForward("VueFiche");
    }
    }

    voici l'erreur qu'il me donne


    GRAVE: "Servlet.service()" pour la servlet jsp a lancé une exception
    javax.servlet.jsp.JspException: No getter method for property Listprojet of bean org.apache.struts.taglib.html.BEAN
    at org.apache.struts.taglib.TagUtils.lookup(TagUtils.java:973)

  2. #2
    Membre éclairé Avatar de Tanebisse
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 449
    Par défaut
    Met une minuscule à ta propriété Listprojet dans ton form, les propriété doivent tjrs commencer par une minuscule dans les bean. J'écrirai plutôt :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    private List<GC_Projet> listProjet;
    
    public List getListProjet() {
         return this.listProjet;
    }
    public void setListProjet(List listProjet) {
         this.listProjet = listProjet;
    }
    En faisant bien gaf aux minuscules et majuscules.

  3. #3
    Membre averti
    Inscrit en
    Février 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 42
    Par défaut
    merci bcp ca marche , la page jsp s'affiche mais j'ai un petit souci c'est qu'il ne récupére pas de donnée les listes sont vides.

    que vais je faire ?

  4. #4
    Membre éclairé Avatar de Tanebisse
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 449
    Par défaut
    Quand tu fais ça dans ta classe action :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    fform.setListprojet(o.getToutprojet());
     
    System.out.println(fform.getListprojet().size());
    T'as bien une taille pour ta liste ? Sinon va plutot voir du coté de o.getToutProjet.

  5. #5
    Membre averti
    Inscrit en
    Février 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 42
    Par défaut
    j'ai fait des tests sur mon metier avec une classe main et ca marche il m'affiche la taille de ma liste et les élément de la liste.

    voici ma fonction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    // la liste des projets 
     
    	public List getToutprojet(){
    		 Session   session=HibernateUtil.getSessionFactory().getCurrentSession();
    		 session.beginTransaction();
    		 return session.createQuery("from GC_Projet").list();
    	}

  6. #6
    Membre éclairé Avatar de Tanebisse
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2007
    Messages
    449
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Industrie

    Informations forums :
    Inscription : Février 2007
    Messages : 449
    Par défaut
    Bon alors c'est dans ta JSP
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <html:select property="idprojet">
    <html:optionsCollection property="Listprojet" value="idprojet" label="Libelle_projet"/>
    </html:select>
    Voici le code que j'ai dans un de mes projets :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
     
    <html:select name="tonForm" property="unePropieteDunObjetDeLaListe" >
    	<html:options collection="taCollection" property="unePropieteDunObjetDeLaListe" labelProperty="unePropieteDunObjetDeLaListe"/>
    </html:select>
    Dans le select indique bien le "name" de ton Form, celui que tu as déclaré dans ton Struts-config.xml dans formBean.

    Ça ça devrait le faire.

  7. #7
    Membre averti
    Inscrit en
    Février 2008
    Messages
    42
    Détails du profil
    Informations forums :
    Inscription : Février 2008
    Messages : 42
    Par défaut
    j'ai essayé mais ca marche pas ,

    la propriete de ma liste correspond à un attribut dans ma classe GC_Projet n'est ce pas ?

    puisque maliste de projet a des éléments de type GC_Projet ?

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

Discussions similaires

  1. Charger une JComboBox ou une JList des données d'un champ d'une table dans une BDD.
    Par MasterMbg dans le forum Codes sources à télécharger
    Réponses: 2
    Dernier message: 27/09/2013, 12h16
  2. Réponses: 6
    Dernier message: 22/07/2013, 16h24
  3. copier une table d'une BDD dans une table d'une autre BDD
    Par faniette dans le forum C++Builder
    Réponses: 2
    Dernier message: 15/05/2013, 10h17
  4. Réponses: 7
    Dernier message: 25/03/2011, 10h52
  5. [AC-2003] insert des données d'une table dans une table d'une base externe
    Par marieo dans le forum VBA Access
    Réponses: 1
    Dernier message: 30/11/2009, 14h29

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