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 :

[struts] dynaform - initialisation de checkbox dans le form


Sujet :

Struts 1 Java

  1. #1
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut [struts] dynaform - initialisation de checkbox dans le form
    Salut tout le monde,

    voila, j'ai un probleme pour initialiser les cases a cocher dans un formulaire.
    Ma facon de faire est la suivante :
    j'ai 2 ecrans dont un ecran avec une liste de cases a cocher. cette liste s'appele liste[].
    j'utilise le meme form pour mes 2 ecrans. Le liste est déclarée dans mon form.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    <form-bean name="formulaire" dynamic="true" type="org.apache.struts.validator.DynaValidatorForm">
      <form-property name="liste" type="java.lang.Integer[]" /> 
      </form-bean>
    Dans le second ecran, j'ai un hidden
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <html:hidden property="liste"/>
    De cette facon, quand le formulaire du deuxieme ecran sera validé (retour sur le premier ecran), il validera la liste des cases cochees dans le premier ecran et a mon retour sur le premier ecran, les cases seront pre cocher avec les valeurs initiales.

    A savoir que cette technique fonctionne tres bien pour d'autre objet (String et pre saisie de champs de saisie), mais la ca ne fonctionne pas.

    C'est peut etre a cause du fait qu'il ne faut aussi positionner l'attribut check sur les cases, en plus du simple attribut value utilise pour les champs de saisie.

    Donc ma question : est ce que quelqu'un a une technique efficace pour initialiser un formulaire dans une action (sachant que dans cette action j'ai les id des cases cochees...)

    Merci d'avance
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

  2. #2
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 31
    Points : 29
    Points
    29
    Par défaut
    c assez pénible les initialisations de formulaires avec struts

    et c meme pire avec les DynaForm. t'as essayé de regarder avec l'attribut initial de form-property. Je sais qu'avec les zones de texte tu mets initial="" et la t'as un champ vide mais avec un tableau je sais pas si c'est la meme chose

  3. #3
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    ouais, pour les champs normaux, il y a pas de pb, un simple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    formulaire.set("champs", valeur);
    suffit dans l'action precedente (sous reserve qu'on lui ai attribue le formulaire dans le struts config) pour initialiser le champs. Mais apparemment, pour les tableaux, c'est moins évident.
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

  4. #4
    Nouveau membre du Club
    Inscrit en
    Juillet 2005
    Messages
    31
    Détails du profil
    Informations forums :
    Inscription : Juillet 2005
    Messages : 31
    Points : 29
    Points
    29
    Par défaut
    euh..je viens de regarder la javadoc de struts et apparemment pour la classe DynaValidatorForm t'as trois methodes set, dont une qui me semble agir sur les tableaux
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    set(String nomPropriete, int indexTableaux, Object valeur)
    j'ai jamais testé essaie d'initialisé ton formulaire avec cette methode la

  5. #5
    Membre expérimenté
    Avatar de viena
    Profil pro
    Inscrit en
    Juillet 2002
    Messages
    1 071
    Détails du profil
    Informations personnelles :
    Âge : 44
    Localisation : France, Nord (Nord Pas de Calais)

    Informations forums :
    Inscription : Juillet 2002
    Messages : 1 071
    Points : 1 512
    Points
    1 512
    Par défaut
    vi, je vais chercher par la.
    merci
    Cours et tutoriels pour apprendre Java , FAQ Java, et Forum Java
    "La liberté de tout être s'arréte là où commence celle de l'autre... Respecter l'autre, c'est préserver sa liberté d'être, de penser et de vivre"

Discussions similaires

  1. Réponses: 5
    Dernier message: 21/11/2008, 16h46
  2. Réponses: 9
    Dernier message: 05/11/2008, 21h26
  3. déclarer un checkbox dans le form
    Par john_wili dans le forum Struts 1
    Réponses: 8
    Dernier message: 11/08/2008, 14h34
  4. Initialiser un property dans struts
    Par Roi_pg dans le forum Struts 1
    Réponses: 2
    Dernier message: 17/08/2007, 18h18
  5. [Struts] Re-initialisation de mon Form
    Par cosmos38240 dans le forum Struts 1
    Réponses: 7
    Dernier message: 13/12/2005, 16h14

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