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. Попробуй это

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

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