quelles sont les avantages et les inconvénients, dans quelle cas de figure l'un et préférable à l'autre.
Version imprimable
quelles sont les avantages et les inconvénients, dans quelle cas de figure l'un et préférable à l'autre.
voici une petite explication sur la différence entre les 2 types de form :
Le composant ActionForm :
Les ActionForm permettent le transfert de données entre la Vue et le Contrôleur
Les données de formulaire entrantes sont utilisées pour renseigner le composant ActionForm
--> Les données peuvent ensuite être envoyées à la couche Modèle
Le contrôleur peut également renseigner l ’ActionForm au moyen de données du Modèle
--> L ’ActionForm est utilisé pour renseigner la Vue
Principes régissant les ActionForm :
Les ActionForm sont des beans dotés de méthode getter et setter public pour chaque propriété
Des sous-classes de org.apache.struts.action.ActionForm doivent être créés
Les propriétés du bean peuvent être de tout type d ’objet
Peuvent permettre l ’implémentation de reset() et validate() (cf. § Validation)
Ne doivent pas contenir de logique métier
Configuration des ActionForm dans le struts-config.xml :
On commence par attribuer un nom logique, ici saisieForm :
On définit le mapping d ’action pour associer l ’ActionForm à la classe Action :Code:
1
2
3
4 <form-beans> <form-bean name="saisieForm" type="exemple.form.SaisieActiviteForm"> </form-bean> </form-beans>
Code:
1
2
3
4
5
6
7 <action path="/saisieValiderActivite" type="exemple.action.EnregistrerActiviteAction" name="saisieForm" scope="session" validate="false"> <forward name="success" path="/WEB-INF/jsp/saisieActivite.jsp"/> </action>
L ’objet DynaActionForm :
La création d ’ActionForm pour chaque page de saisie est une procédure fastidieuse
Struts fournit un ActionForm dynamique, le DynaActionForm
--> Evite de coder les beans manuellement
Pour cela, on utilise struts-config.xml
Les propriétés du formulaire du bean sont définies au niveau des balises <form-property>Code:
1
2
3
4
5
6
7
8
9
10
11
12
13 <form-beans> <form-bean name="saisieForm" type="org.apache.struts.validator.DynaValidatorForm"> <form-property name="code" type="java.lang.String"/> <form-property name="libelleRessource" type="java.lang.String"/> <form-property name="annee" type="java.lang.Integer"/> </form-bean> </form-beans>
La balise <form-property> a trois attributs :
name définit un indicateur propre à ce formulaire
initial correspond à la valeur par défaut de la propriété
type définit le type auquel la propriété est mappée
Types disponibles :
java.lang.Boolean ou boolean
java.lang.Double ou double
java.lang.Integer ou int
java.lang.BigDecimal
java.lang.String
java.lang.List
je ne sais pas si cela répond à ta question
je saisi la différence, mais j'aimerai savoir, quand est-ce qu'il est préférable d'utilser l'un plutôt que l'autre.
voici un post qui peux t'intéresser :
http://www.developpez.net/forums/sho...d.php?t=145958
c'est déjà plus clair, merci pour ton aide