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
Wenn Sie auf den Link "Generate XML File" klicken, wird er anhttp://localhost:8080/StrutsExample/CustomDispatchAction.do?action=generateXML weitergeleitet
Wenn Sie auf den Link "Generate Excel File" klicken, wird er anhttp://localhost:8080/StrutsExample/CustomDispatchAction.do?action=generateExcel weitergeleitet