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