Struts – MappingDispatchActionの例
Struts MappingDispatchActionクラスを使用して、同様の機能を1つのアクションクラスにグループ化し、対応するActionMappingのパラメーター属性に応じて関数を実行します。 MappingDispatchActionの使用方法を示す例は次のとおりです。
この例をダウンロード–Struts-MappingDispatchAction-Example.zip
1. DispatchActionクラスのマッピング
MappingDispatchActionクラスを拡張し、generateXML()とgenerateExcel()の2つのメソッドを宣言します。
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構成
2つのアクションマッピングを宣言します。各マッピングは、異なるパラメーター属性を持つ同じ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に転送されます