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 :

Génération de formulaires dynamiquement


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Profil pro
    Inscrit en
    Mars 2008
    Messages
    160
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Gironde (Aquitaine)

    Informations forums :
    Inscription : Mars 2008
    Messages : 160
    Par défaut Génération de formulaires dynamiquement
    Bonjour,

    J'aimerais savoir comment puis-je générer un nombre x de formulaires dynamique (dans une boucle par exemple) ?

    Voila mon problème en détail
    Je doit générer un tableau de taille x sur y sachant que ces deux valeurs sont variables. chaque cellule doit contenir un formulaire. Je doit aussi pouvoir valider le tout en vue de tout récupérer dans une autre action.

    Merci d'avance.

  2. #2
    Membre expérimenté
    Homme Profil pro
    Développeur Java
    Inscrit en
    Août 2007
    Messages
    197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Java

    Informations forums :
    Inscription : Août 2007
    Messages : 197
    Par défaut
    bah, j'aurais envie de te dire de déclarer dans ton formbean associé à la jsp un tableau à 2 dimensions: MonPetitFormBean[][] input; avec int x; int y;
    et dans ta jsp chaques cellules x y permettra de positionner le form bean dans le tableau, va faire un tour avec la taglib nested qui devrait t'aider.( En esperant que chaques cases de ton tableau soit un formulaire identique de type MonPetitFormBean qui contiendrait String name; String age; ... etc par exemple)

    à mon avis y'a mieux.
    ++

  3. #3
    Membre averti
    Inscrit en
    Mars 2006
    Messages
    27
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 27
    Par défaut
    Pourquoi tu veux faire plusieurs formulaires ?

    Tu peux utiliser l'astuce 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
    15
    16
    17
    18
    <%
         int indexLigne = 0;
    %>
    <logic:iterate name="monTableau" id="maLigne">
    <%
         int indexColonne = 0;
    %>
           <logic:iterate name="maLigne" id="maColonne">
                   <input type="text" name="mesColonnes[<%= indexLigne * 1000 + indexColonne %>].valeur" value="<%bean:write name="maColonne" />" />
     
    <%
         indexColonne++;
    %>
           </logic:iterate>
    <%
         indexLigne++;
    %>
    </logic:iterate>
    Dans ton FormBean tu déclares un objet de type List s'appelant monTableau et qui contiendra une liste de liste d'objets de type MonHelper et tu définis deux méthodes :

    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
    public MonHelper getMesColonnes(int pIndex) {
        if (getMonTableau() == null) {
            setMonTableau(new ArrayList());
        }
     
        int lIndexColonne = Math.IEEERemainder(pIndex,1000);
        int lIndexLigne = (pIndex - lIndexColonne)/1000;
        int lDifferenceLigne = lIndexLigne - getMonTableau().size() + 1;
        for(int lIndex = lDifferenceLigne; lIndex > 0; lIndex--) {
            getMonTableau().add(new ArrayList());
        }
        List lListeColonnes = (List)getMonTableau().get(lIndexLigne);
        int lDifferenceColonne = lIndexColonne - lListeColonnes.size() + 1;
        for(int lIndex = lDifferenceColonne; lIndex > 0; lIndex--) {
            lListeColonnes.add(new MonHelper());
        }
        return (MonHelper)lListeColonnes.get(lIndexColonne);
    }
    Maintenant tu peux accéder à la valeur saisie dans la troisième colonne de la deuxième ligne en faisant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    ((MonHelper)((List)monFormBean.getMonTableau().get(2)).get(3)).getValeur()
    Je n'ai pas testé la solution mais globalement l'idée est là. C'est moche mais ca fonctionne.

Discussions similaires

  1. Génération de formulaires dynamique
    Par tiff44 dans le forum ASP.NET
    Réponses: 3
    Dernier message: 08/10/2007, 14h35
  2. [JSF] Implémentation d'un formulaire dynamique
    Par Fleep dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 01/03/2005, 19h00
  3. pb access formulaire dynamique
    Par jibouze dans le forum IHM
    Réponses: 3
    Dernier message: 12/01/2005, 09h39
  4. formulaire dynamique
    Par shirya dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 19/10/2004, 16h13
  5. [struts]Formulaire dynamique
    Par GreenJay dans le forum Struts 1
    Réponses: 8
    Dernier message: 28/05/2004, 16h35

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