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 :

Formulaires dynamiques et taglib nested


Sujet :

Struts 1 Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 24
    Par défaut Formulaires dynamiques et taglib nested
    Bonjour à tous,
    je vous expose mon petit problème :
    Je dois générer une page web avec des champs de formulaire classiques ainsi qu'une liste d'objets (nombre inconnu).
    J'ai donc généré ma classe ActionForm comme suit :
    public class AdminTerminalForm extends ActionForm {

    public static final long serialVersionUID = 2087450798028622785L;
    private String mode;
    private String id;
    private String internalNumber;
    .....

    private CallerGroupRoutingParameters routingParameters[];

    ...

    /**
    * @return the routingParameters
    */
    public CallerGroupRoutingParameters[] getRoutingParameters() {
    return routingParameters;
    }
    /**
    * @param routingParameters the routingParameters to set
    */
    public void setRoutingParameters(
    CallerGroupRoutingParameters[] routingParameters) {
    this.routingParameters = routingParameters;
    }

    ...
    }
    ma classe d'objet est quant à elle definie de la manière suivante :
    public class CallerGroupRoutingParameters {
    private String goupId;
    private String groupName;

    private String onDisengagedEnable;
    private String onDisengagedDestination;

    private String onBusyEnable;
    private String onBusyDestination;

    private String onNoAnswerEnable;
    private String onNoAnswerDestination;

    public String getGoupId() {
    return goupId;
    }
    ...
    }
    ma classe Action construit ses données, et met a jour l'actionForm de la manière suivante :
    actionForm.setRoutingParameters(curTerminalData.getRoutingParameters());
    et la JSP utilise le tout pour afficher mes champs de formulaire :
    <nested:iterate id="routing" property="routingParameters" indexId="idx">
    ....
    <nested:checkbox name="routing" property="onDisengagedEnable" />
    <nested:select styleClass="size150" name="routing" property="onDisengagedDestination" size="1" style="background-color:#fffac2;">
    <option>&nbsp;</option>
    <html:options collection="listDestcall" property="value" labelProperty="label" />
    </nested:select>
    ....
    jusque la, tout se passe bien, mon JSP affiche correctement les données récupérées de la base de données sous forme de champs de formulaires :
    <input type="checkbox" name="onDisengagedEnable" value="on" checked="checked">

    <select name="onDisengagedDestination" size="1" style="background-color:#fffac2;" class="size150"><option>&nbsp;</option>
    <option value="300030003#NetworkEntity" selected="selected">PSC-1</option>
    <option value="300030001#NetworkEntity">CRCm-1</option>
    <option value="300030002#NetworkEntity">CRCm-2</option>
    <option value="64480602#Terminal">FOUGERE (64480602)</option></select>

    ....
    Cela se corse lorsque je veux récupérer les données modifiées dans mon ma classe Action pour mettre à jour la base de données.
    En effet mon actionForm.getRoutingParameters(); est systématiquement à null.. ce que je comprend bien car je n'ai pas de champ de formulaire de ce nom dans ma page générée..

    Je voudrais récupérer mon tableau d'objets CallerGroupRoutingParameters dans mon ma classe Action...; or la page générée par mon JSP ne contient que de listes de champs onDisengagedDestination, etc....

    J'ai pense utiliser un request.getParameter(...) mais cela m'oblige à recréer manuellement mon objet CallerGroupRoutingParameters[], et je trouve ca lourd, pas propre du tout, et surtout potentiellement source d'erreurs

    Je voudrais savoir comment récupérer dans ma classe Action mon objet composé sachant qu'au niveau stictement HTML, les carractéristiques de mon objet sont générées sous forme de champs simples....

    Merci a tous pour votre aide.

  2. #2
    Membre confirmé
    Profil pro
    Inscrit en
    Mai 2007
    Messages
    85
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2007
    Messages : 85
    Par défaut
    je saisie pas bien ton probleme...

    tu n'arrive pas afficher une lite d'objet ou a récupérer un résultta d'une séléction ?!?

  3. #3
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 24
    Par défaut
    Citation Envoyé par Arcann Voir le message
    je saisie pas bien ton probleme...

    tu n'arrive pas afficher une lite d'objet ou a récupérer un résultta d'une séléction ?!?
    Salut Arcann,
    en fait, mon pb n'est pas d'afficher mes objets dans mon jsp(sous forme de différents champs de formulaires), mais plutot de recupérer ensuite mon objet (et non pas les différents champs de formulaire qui le composent),
    en faisant un actionForm.getMonObjet() plutot que de devoir le reconstruire via une serie de faire un request.getParameterValues(prop1DeMonObjet).

    J'avais pense a un moment modifier ma methode getRoutingParameters() dans mon ActionForm, pour qu'elle recupere dans la request les différents champs de formulaire, et me generee un tableau objets CallerGroupRoutingParameters[]..
    mais je n'arrive pas a recuperer la request dans mon actionForm..

    Du coup pour le moment j'ai créé une methode statique getRoutingParametersFromRequest(request) qui me permet de la faire, et j'y accede depuis ma classe DispatchAction
    mais perso je ne trouve pas ca tres propre....

  4. #4
    Expert confirmé

    Femme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    5 793
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 5 793
    Par défaut
    Dans le struts-config.xml, as-tu mis le scope à session dans le mapping des deux Actions liées au form-bean de type AdminTerminalForm ?

  5. #5
    Membre averti
    Inscrit en
    Juillet 2007
    Messages
    24
    Détails du profil
    Informations forums :
    Inscription : Juillet 2007
    Messages : 24
    Par défaut
    Citation Envoyé par c_nvy Voir le message
    Dans le struts-config.xml, as-tu mis le scope à session dans le mapping des deux Actions liées au form-bean de type AdminTerminalForm ?
    Salut c_nvy,
    mon scope est a request en ce qui concerne ma classe AdminTerminalAction..
    En ce qui me concerne, je n'ai qu'un seule classe (DispatchAction).

    Qu'est ce que va apporter le scope session, puisque je travaille au niveau de la request ?
    Merci.

Discussions similaires

  1. Validation formulaire dynamique
    Par odelayen dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 31/08/2005, 17h47
  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