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

Servlets/JSP Java Discussion :

[jsp] récupérer tous les attributs d'une class pour un form


Sujet :

Servlets/JSP Java

  1. #1
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 10
    Points : 7
    Points
    7
    Par défaut [jsp] récupérer tous les attributs d'une class pour un form
    Bonjour,
    Aprés de nombreuses recherche, je vous le demande à présent.
    j'ai des class java.
    Je voudrais écrire une page jsp qui génére automatiquement un formulaire par rapport aux attributs d'une class...
    A part utiliser des tags, y'a t'il un moyen de le faire?
    si oui, le nom de la méthode à utiliser?

    Merci d'avance :-)

  2. #2
    Membre à l'essai
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    16
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 16
    Points : 17
    Points
    17
    Par défaut
    Premiere idee:

    Utiliser la reflexion pour le faire, t'ecris un code du genre :

    Le fichier Personne.java est le suivant:

    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
     
    public class Personne{
     
      private String nom;
     
      private String prenom;
     
      public void setNom(String nom){
         this.nom = nom;
      }
     
      public void setPrenom(String prenom){
         this.prenom = prenom;
      }
     
      public String getNom(){
         return nom;
      }
     
      public String getPrenom(){
         return prenom;
      }
    }
    et dans un fichier jsp tu mets:

    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
     
    <html>
    <body>
    <form method="POST" action="/action.jsp">
    <%@ page import="java.lang.reflect" %>
     
    <%
    try{
        Class clazz = Personne.class;
         Field[] fields = clazz.getDeclaredFields();
         for(int i = 0; i < fields.length; i ++){
             String fieldName = fields[i].getName();
             out.println(fieldName + " : <input type='text' name='" + fieldName + "' 
                              size='20' />"); 
        }
    }catch(Exception e){
     
    }
    %>
    <input type="submit" value="Valider"/>
    </form>
    </body>
    </html>
    En sortie t'auras donc le fichier html suivant:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
     
    <html>
    <body>
    <form method="POST" action="/action.jsp">
    nom : <input type='text' name='nom' size='20' />
    prenom : <input type='text' name='prenom' size='20' />
    <input type="submit" value="Valider"/>
    </form>
    </body>
    </html>
    Evidemment tout depend du type de formulaire que tu veux creer mais dans ce cas ca marche assez bien si ta classe ne contient que des attributs simple (type des entiers ou des Strings).

    Deuxieme solution:

    Utilise Eclipse et le plugin MyEclipse (a trouver par google). La je connais pas trop le plugin mais apparemment si ton projet est un projet utilisant des librairies de Struts, tu peux automatiquement dessiner le schema du modele MVC et a partir d'un bean (ici par exemple Personne.java) generer automatiquement le formulaire correspondant.

    Mais la je peux pas trop t'aider dans ce cas vu que je connais pas trop le plugin, bref regarde la documentation et fais des essais 8)

  3. #3
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    OUAH MERCI :-D
    y'a peut etre une methode pour récupérer le type d'un attribut :-D ?

  4. #4
    hlr
    hlr est déconnecté
    Membre du Club
    Profil pro
    Inscrit en
    Mai 2003
    Messages
    57
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2003
    Messages : 57
    Points : 64
    Points
    64
    Par défaut
    Citation Envoyé par fcoisb
    OUAH MERCI :-D
    y'a peut etre une methode pour récupérer le type d'un attribut :-D ?
    Regarde dans le mécanisme de la reflexion.
    Pour t'aider un peu : fouille dans la classe Field, il doit y avoir ce que tu cherches dedans

  5. #5
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    Pour finir, on est obligé d'utiliser des tags ....

  6. #6
    Membre régulier
    Inscrit en
    Décembre 2003
    Messages
    105
    Détails du profil
    Informations forums :
    Inscription : Décembre 2003
    Messages : 105
    Points : 107
    Points
    107
    Par défaut
    Benh je pense que oui si tu veux que ce soit un formulaire...
    si tu veux juste les afficher a l'écran tu utilise la balise :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    <%= objet.getNom() %>
    "Plus on fait de conneries, moins on en aura à faire...."

  7. #7
    Membre éprouvé

    Profil pro
    Inscrit en
    Mars 2002
    Messages
    652
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Garonne (Midi Pyrénées)

    Informations forums :
    Inscription : Mars 2002
    Messages : 652
    Points : 1 151
    Points
    1 151
    Par défaut
    Citation Envoyé par fcoisb
    Pour finir, on est obligé d'utiliser des tags ....
    Je te conseil alors d'écrire un simple Tag te retournant, sous forme de collection, la liste des attributs.
    Tu pourras à loisir le placer dans un tag itérateur pour générer ta page.
    Clic me...
    CV en ligne

    Il y a 10 types de personnes, celui qui connait le binaire, et l'autre...

    Pas de réponse en MP...Merci

  8. #8
    Futur Membre du Club
    Profil pro
    Inscrit en
    Octobre 2004
    Messages
    10
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2004
    Messages : 10
    Points : 7
    Points
    7
    Par défaut
    c'est fait, merci beaucoup :-)

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

Discussions similaires

  1. Réponses: 9
    Dernier message: 17/11/2014, 19h10
  2. Récupérer tous les attributs "id" d'une chaine
    Par Gedan dans le forum jQuery
    Réponses: 4
    Dernier message: 23/08/2011, 15h15
  3. Réponses: 1
    Dernier message: 23/07/2010, 13h53
  4. [RegEx] Récupérer tous les liens d'une certaine classe CSS
    Par Lost In Translation dans le forum Langage
    Réponses: 17
    Dernier message: 02/07/2009, 16h54
  5. [DOM] Récupérer les attributs d'une classe CSS ?
    Par titoumimi dans le forum Général JavaScript
    Réponses: 13
    Dernier message: 10/07/2007, 14h33

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