Struts - пример MappingDispatchAction

Struts - пример MappingDispatchAction

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

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

1. Класс MappingDispatchAction

Расширяет класс MappingDispatchAction и объявляет два метода -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.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. Конфигурация Struts

Объявляет два сопоставления действий, каждое из которых указывает на один и тот же класс MyCustomDispatchAction с разными атрибутами параметров.

struts-config.xml






    

        

            

        

        

            

        


        
        

    

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

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

1. /CustomDispatchActionXML выполнит методgenerateXML().
2. /CustomDispatchActionExcel выполнит методgenerateExcel().

TestForm.jsp

Struts - DispatchAction Example

html:link


   |



a href


           Generate XML File

   |

           Generate Excel File

DispatchExample.jsp

Struts - DispatchAction Example

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

Struts-MappingDispatchAction-1-example

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

Struts-MappingDispatchAction-2-xml-example

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

Struts-MappingDispatchAction-3-excel-example