Dans quels cas est préférable d'utiliser DispatchActions que Action?Struts 1.3: quand est-il préférable d'utiliser DispatchActions que Action?
Répondre
Lorsque vous avez besoin de nombreuses actions similaires à la fève forme similaire dans le même module entretoises (par exemple des actions CRUD à create
read
update
delete
le même objet). Avec plaine Action
vous aurez besoin 4 Struts fichiers d'action avec les importations, en-têtes, les signatures de méthode:
// CreateAction.java
package com.example.package;
// imports and header
public class CreateAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// actual code
}
}
// ReadAction.java
package com.example.package;
// imports and header
public class ReadAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// actual code
}
}
// UpdateAction.java
package com.example.package;
// imports and header
public class UpdateAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// actual code
}
}
// DeleteAction.java
package com.example.package;
// imports and header
public class DeleteAction extends Action {
public ActionForward execute(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// actual code
}
}
vous aurez également besoin 4 cartographies d'action en struts-config.xml
(bien sûr, si vous ne l'utilisez annotations). Mais en fait, ils invoqueront simplement la couche de code suivante (manager/DAO/etc), indépendante du web (classes request/response/mapping) et donc testable avec des tests unitaires permettant le développement piloté par les tests et la réutilisabilité du code. Les quatre classes ne différeront que par 1-2 lignes de code. Le reste est passe-partout, répétant encore et encore. En ajoutant des paramètres supplémentaires ou en réutilisant un existant dans la requête HTTP (en d'autres termes: dans une étiquette de formulaire JSP), vous pouvez regrouper les 4 actions dans une classe, par ex. en EventDispatchAction
:
// CRUDAction.java
package com.example.package;
// imports and header
public class CRUDAction extends EventDispatchAction {
public ActionForward create(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// actual code
}
public ActionForward read(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// actual code
}
public ActionForward update(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// actual code
}
public ActionForward delete(ActionMapping mapping, ActionForm form,
HttpServletRequest request, HttpServletResponse response) {
// actual code
}
}
Cela nécessite beaucoup moins de plaque. Pour indiquer quelle action vous souhaitez effectuer, vous pouvez utiliser les boutons de soumission:
<html:submit property="update" value="Save" />
<html:submit property="delete" value="Delete" />
- 1. java.lang.NoSuchMethodException: struts 1.3 *
- 2. Struts 1.3 valid validenen validator
- 3. Struts action resubmission
- 4. fichier «/Struts-tags » non trouvé dans Struts 1.3
- 5. redirect struts 2 action à struts 1 action
- 6. Action https dans Struts
- 7. Quelles sont les alternatives à Struts 1.3
- 8. Struts 1.3 + Intégration SSO Saml Okta
- 9. Struts 2 erreur Action
- 10. action Struts HTTP 500
- 11. action-validation.xml dans struts 2
- 12. Struts 2 - action Formulaire généré
- 13. action Struts appelé deux fois
- 14. Comment effectuer seul Struts Formulaire action de soumission
- 15. Quand est-il préférable de thunk?
- 16. Struts 1.x ActionForm Action Class
- 17. package action-default dans Struts 2
- 18. Struts 2 Action: Accès aux paramètres
- 19. Comment déclencher une action struts à partir de javascript?
- 20. Impossible d'accéder à champ de formulaire dans Struts 2 Action
- 21. S'il vous plaît expliquer Action dans Struts 2.0 fichier XML
- 22. Frapper une action Struts différente avec la Pagination DisplayTag
- 23. Est-ce que javac -target 1.3 garantit que les classes seront exécutées sous JRE 1.3?
- 24. Comment désinfectez et valider la connexion d'entrée utilisateur dans struts 1.3 pour passer un Checkmarx scan
- 25. Struts téléchargement de fichiers multiples avec Dyna Action Forms (Struts 1)
- 26. Quand est-il préférable de faire une sauvegarde NSManagedObjectContext?
- 27. Quand est-il préférable d'utiliser une nouvelle classe plutôt que d'ajouter à une classe existante
- 28. Comment puis-je trouver l'URL absolue d'une action Struts 2
- 29. struts 1.2 - passer une valeur d'une action à une autre
- 30. quand est-il préférable d'utiliser le modèle C++?