Struts - Exemple MappingDispatchAction

Struts - Exemple MappingDispatchAction

La classe Struts MappingDispatchAction est utilisée pour regrouper des fonctionnalités similaires dans une seule classe d'action et exécuter la fonction dépend de l'attribut de paramètre de l'ActionMapping correspondant. Voici un exemple pour montrer l'utilisation de MappingDispatchAction.

Téléchargez cet exemple -Struts-MappingDispatchAction-Example.zip

1. Classe MappingDispatchAction

Étend la classe MappingDispatchAction et déclare deux méthodes -generateXML() etgenerateExcel().

MyCustomDispatchAction.java

package com.example.common.action;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.MappingDispatchAction;

public class MyCustomDispatchAction extends MappingDispatchAction{

    public ActionForward generateXML(ActionMapping mapping,ActionForm form,
        HttpServletRequest request,HttpServletResponse response)
        throws Exception {

        request.setAttribute("method", "generateXML is called");

            return mapping.findForward("success");
    }

    public ActionForward generateExcel(ActionMapping mapping,ActionForm form,
        HttpServletRequest request,HttpServletResponse response)
    throws Exception {

        request.setAttribute("method", "generateExcel is called");

        return mapping.findForward("success");
    }
}

2. Configuration de Struts

Déclare deux mappages d'actions, chacun pointant vers la même classe MyCustomDispatchAction avec différents attributs de paramètre.

struts-config.xml






    

        

            

        

        

            

        


        
        

    

3. Voir page

Dans la page JSP, les liens fonctionnent comme suit:

1. /CustomDispatchActionXML exécutera la méthodegenerateXML().
2. /CustomDispatchActionExcel exécutera la méthodegenerateExcel().

TestForm.jsp

Struts - DispatchAction Example

html:link


   |



a href


           Generate XML File

   |

           Generate Excel File

DispatchExample.jsp

Struts - DispatchAction Example

4. Essaye-le

Struts-MappingDispatchAction-1-example

Si le lien «Generate XML File» est cliqué, il sera redirigé vershttp://localhost:8080/StrutsExample/CustomDispatchActionXML.do

Struts-MappingDispatchAction-2-xml-example

Si le lien «Generate Excel File» est cliqué, il sera redirigé vershttp://localhost:8080/StrutsExample/CustomDispatchActionExcel.do

Struts-MappingDispatchAction-3-excel-example