Struts - Пример DispatchAction

Struts - пример DispatchAction

Класс Struts DispatchAction используется для группировки похожих функций в одно действие, и выполнение функции зависит от заданного значения параметра. Вот пример, чтобы показать использование DispatchAction.

Загрузите этот пример -Struts-DispatchAction-Example.zip

1. Класс DispatchAction

Создайте собственный класс DispatchAction, расширяя класс DispatchAction и объявляя два метода -generateXML() иgenerateExcel().

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. Конфигурация Struts

Объявляет отображение действия «CustomDispatchAction» с атрибутом параметра и «действием» в качестве значения. Значение параметра «действие» используется для управления тем, какой метод вызывать - generateXML () или generateExcel ().

struts-config.xml






    

        

            

        

        
        

    

3. Просмотр страницы

На странице JSP параметр работает следующим образом:

1. /CustomDispatchAction.do?action=generateXML выполнит методgenerateXML().
2. /CustomDispatchAction.do?action=generateExcel выполнит методgenerateExcel().

TestForm.jsp

Struts - DispatchAction Example

html:link


   |



a href


           Generate XML File

   |

           Generate Excel File

DispatchExample.jsp

Struts - DispatchAction Example

4. Попробуй это

Struts-DispatchAction-1-example

Если щелкнуть ссылку «Generate XML File», она будет перенаправлена ​​наhttp://localhost:8080/StrutsExample/CustomDispatchAction.do?action=generateXML

Struts-DispatchAction-2-xml-example

Если щелкнуть ссылку «Generate Excel File», она будет перенаправлена ​​наhttp://localhost:8080/StrutsExample/CustomDispatchAction.do?action=generateExcel

Struts-DispatchAction-3-excel-example