Struts - DispatchAction-Beispiel

Struts - DispatchAction Beispiel

Die DispatchAction-Klasse von Struts wird verwendet, um ähnliche Funktionen in einer einzigen Aktion zu gruppieren und die Funktion auszuführen, die vom angegebenen Parameterwert abhängt. Hier ist ein Beispiel für die Verwendung von DispatchAction.

Laden Sie dieses Beispiel herunter -Struts-DispatchAction-Example.zip

1. DispatchAction-Klasse

Erstellen Sie eine benutzerdefinierte DispatchAction-Klasse, indem Sie die DispatchAction-Klasse erweitern und zwei Methoden deklarieren -generateXML() undgenerateExcel().

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.DispatchAction;

public class MyCustomDispatchAction extends DispatchAction{

    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. Federbeinkonfiguration

Deklariert eine Aktionszuordnung "CustomDispatchAction" mit dem Parameterattribut und "action" als Wert. Mit dem Parameterwert "action" wird gesteuert, welche Methode aufgerufen werden soll - generateXML () oder generateExcel ().

struts-config.xml






    

        

            

        

        
        

    

3. Seite anzeigen

Auf der JSP-Seite funktionieren die Parameter wie folgt:

1. /CustomDispatchAction.do?action=generateXML führt die MethodegenerateXML() aus.
2. /CustomDispatchAction.do?action=generateExcel führt die MethodegenerateExcel() aus.

TestForm.jsp

Struts - DispatchAction Example

html:link


   |



a href


           Generate XML File

   |

           Generate Excel File

DispatchExample.jsp

Struts - DispatchAction Example

4. Probier es aus

Struts-DispatchAction-1-example

Wenn Sie auf den Link "Generate XML File" klicken, wird er anhttp://localhost:8080/StrutsExample/CustomDispatchAction.do?action=generateXML weitergeleitet

Struts-DispatchAction-2-xml-example

Wenn Sie auf den Link "Generate Excel File" klicken, wird er anhttp://localhost:8080/StrutsExample/CustomDispatchAction.do?action=generateExcel weitergeleitet

Struts-DispatchAction-3-excel-example