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érer puis instancier un formbean a partir de fichier struts-config.xml


Sujet :

Struts 1 Java

  1. #1
    Membre régulier Avatar de yacine.dev
    Inscrit en
    Octobre 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Octobre 2009
    Messages : 177
    Points : 88
    Points
    88
    Par défaut récupérer puis instancier un formbean a partir de fichier struts-config.xml
    l'utilité de ce code est qu'une fois vous definissez vos formulaire pour la validation dans le fichier strut..,vous les reutilisez en l'extractant vous evitez d'écrire le code de autre bean avec les set et les get .
    comme moi peut etre vous aurez besoin de ça

    pour les non débutant dans la validation avec dynavalidatorform
    voici ce qui est important dans ce code.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    ActionMapping
    		 ModuleConfig module = mapping.getModuleConfig();
    		 FormBeanConfig formBeanConfig = module.findFormBeanConfig("formNameDefinedIn:struts-config.xml");
    		 DynaActionFormClass dynaClass = DynaActionFormClass.createDynaActionFormClass(formBeanConfig);
    		 DynaValidatorForm form = (DynaValidatorForm) dynaClass.newInstance();
    pour les débutants dans la validation avec validator form lisez tous ça

    dans le fichier strtuts-config.xml

    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    <struts-config>
    <form-beans>
     
    <form-bean     name="frmDonnateur" type="org.apache.struts.validator.DynaValidatorForm">
    <form-property name="nom" type="java.lang.String" initial=""/>
    <form-property name="prenom" type="java.lang.String" initial=""/>
    </form-bean>
     
    </form-beans>
     
    </struts-config>


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    public ActionForward execute(ActionMapping mapping, ActionForm form,
    			HttpServletRequest request, HttpServletResponse response)
    			throws Exception {
    		//vous pouvez utiliser n'importe ou acontion d'avoir lobjet ActionMapping
    		 ModuleConfig module = mapping.getModuleConfig();
    		 FormBeanConfig formBeanConfig = module.findFormBeanConfig("formNameDefinedIn:struts-config.xml");
    		 DynaActionFormClass dynaClass = DynaActionFormClass.createDynaActionFormClass(formBeanConfig);
    		 DynaValidatorForm form = (DynaValidatorForm) dynaClass.newInstance();
     
    //remplissez form avec la methode .set("votre proprty",value) puis l'envoyer dans la request a une page qui reçoit cette form dynamiquement (<html:text property="nom" name="frmDonnateur">le text sera rempli avec la valeur de proprieté nom de form que nous avons anstancié acondition de charger la form avc form.set("property(ex:"nom")",value)
     
    }
    j'espére aider quelqu'un avec ce code n'hésitez pas à poser des questions je suis ici.

    pour une connaissance libre

  2. #2
    Expert éminent

    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
    Points : 7 778
    Points
    7 778
    Par défaut
    Je ne comprends pas bien l'utilité de ce code étant donné que Struts instancie lui-même les form-beans et te permet de les récupérer facilement dans une Action.

    Avec ton code, il me semble que tu vas à l'encontre des mécanismes automatiques de Struts.
    Je ne pense donc pas que ce soit une bonne façon de travailler avec Struts.
    Enfin, c'est mon opinion.

  3. #3
    Membre régulier Avatar de yacine.dev
    Inscrit en
    Octobre 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Octobre 2009
    Messages : 177
    Points : 88
    Points
    88
    Par défaut bonne opinion je respet
    oui mai dis moi comment remplir les champ d'un formulaire de modification dans une page dynamiquement


    enrgistrement 1 >> modifier(lutilisateur clik>op le formulaire de modification s'affiche et toutes les controles zone de text.... sont rempli par les info suceptibles d'etre modifier)



    lutilté de ce code est extracter un bean qui n'est pas encore initialisé parceque il nya po de formulaire qui etait rempli par lutilisateur(le bean n'est po encore généré) alors moi je lextracte (le cadre de bean) avec ce code je le remli par bean.set(property",valu) et je l'envoie au formulaire de modification qui reçoi ce bean que j'ai envoyé et rempli les controles(<html:text...) puis quand l'utilisateur kliqu sur modifer c'est la ou struts génére son bean que je n'ai po besion de l'extracter (cest ici que vous dites ya po d'utilité oui mais dans linitalisation c'est important . c'est une methode que j'ai trouvé moi meme vous avez une autre methode? je veux vraiment la connaitre.

    merci

  4. #4
    Expert éminent

    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
    Points : 7 778
    Points
    7 778
    Par défaut
    Il suffit de référencer le form-bean dans le mapping de l'Action d'initialisation.
    Ainsi, Struts va l'instancier dès que tu feras appel à cette Action et tu pourras le récupérer et l'initialiser dans la méthode execute via le code suivant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    DynValidatorForm dynaActionForm=(DynValidatorForm) form ;
    dynaActionForm.set("maPropriete",valuePropriete) ;
    Il faut par contre penser à mettre l'attribut validate à false dans le mapping de cette Action d'initialisation pour éviter que la validation ne soit effectuée avant que le formulaire ne soit rempli.

  5. #5
    Membre régulier Avatar de yacine.dev
    Inscrit en
    Octobre 2009
    Messages
    177
    Détails du profil
    Informations personnelles :
    Âge : 36

    Informations forums :
    Inscription : Octobre 2009
    Messages : 177
    Points : 88
    Points
    88
    Par défaut oui ta raison
    oui ça aussi :
    soit de lextracter et le remplir
    soit de le declarer dans le <action...... name="frmname" validate="false"> et struts va l'extracter lui meme et on le remplie.

    merci

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

Discussions similaires

  1. Création d'arbre à partir de fichier de config
    Par gege2009 dans le forum C++
    Réponses: 9
    Dernier message: 14/11/2010, 16h15
  2. Réponses: 5
    Dernier message: 19/05/2008, 18h46
  3. Réponses: 0
    Dernier message: 04/01/2008, 15h00
  4. Réponses: 2
    Dernier message: 15/05/2006, 10h27

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