struts中的DispatchAction、LookupDispatchAction、MappingDispatchAction

这里用个简单的例子来说明

index.jsp

  
  
  
  
  1. <%@ page language="java" pageEncoding="GB18030"%>  
  2.  
  3. <%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean"%>  
  4. <%@ taglib uri="http://struts.apache.org/tags-html" prefix="html"%>  
  5. <%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic"%>  
  6. <%@ taglib uri="http://struts.apache.org/tags-tiles" prefix="tiles"%>  
  7. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  
  8. <html:html lang="true">  
  9. <head>  
  10. <html:base />  
  11. <title>index.jsp</title>  
  12. </head>  
  13.  
  14. <body>  
  15. DispatchAction  
  16. <ul>  
  17. <li><html:link page="/testDispatch.do?method=a">testDispatch a</html:link></li>  
  18. <li><html:link page="/testDispatch.do?method=b">testDispatch b</html:link></li>  
  19. <li><html:link page="/testDispatch.do?method=c">testDispatch c</html:link></li>  
  20. </ul>  
  21. LookupDispatchAction  
  22. <ul>  
  23. <li>  
  24. <html:form action="/testLookupDispatch.do">  
  25. <html:submit property="cmd"><bean:message key="button.a"/></html:submit>  
  26. <html:submit property="cmd"><bean:message key="button.b"/></html:submit>  
  27. </html:form>  
  28. </li>  
  29. </ul>  
  30. MappingDispatchAction  
  31. <ul>  
  32. <li><html:link page="/a.do">MappingDispatchAction a</html:link></li>  
  33. <li><html:link page="/b.do">MappingDispatchAction b</html:link></li>  
  34. </ul>  
  35. </body>  
  36. </html:html> 

struts-config.xml

  
  
  
  
  1. <?xml version="1.0" encoding="UTF-8"?>  
  2. <!DOCTYPE struts-config PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 1.2//EN" "http://struts.apache.org/dtds/struts-config_1_2.dtd">  
  3.  
  4. <struts-config>  
  5. <data-sources />  
  6. <form-beans >  
  7. <form-bean name="testDispatchForm" type="com.hqh.struts.form.TestDispatchForm" />  
  8. <form-bean name="testLookupDispatchForm" type="com.hqh.struts.form.TestLookupDispatchForm" />  
  9. <form-bean name="testMappingDispatchForm" type="com.hqh.struts.form.TestMappingDispatchForm" />  
  10.  
  11. </form-beans>  
  12.  
  13. <global-exceptions />  
  14. <global-forwards />  
  15. <action-mappings >  
  16. <action 
  17. attribute="testDispatchForm" 
  18. input="/index.jsp" 
  19. name="testDispatchForm" 
  20. parameter="method" 
  21. path="/testDispatch" 
  22. scope="request" 
  23. type="com.hqh.struts.action.TestDispatchAction" />  
  24. <action 
  25. attribute="testLookupDispatchForm" 
  26. input="/index.jsp" 
  27. name="testLookupDispatchForm" 
  28. parameter="cmd" 
  29. path="/testLookupDispatch" 
  30. scope="request" 
  31. type="com.hqh.struts.action.TestLookupDispatchAction" />  
  32. <action 
  33. attribute="testMappingDispatchForm" 
  34. input="/index.jsp" 
  35. name="testMappingDispatchForm" 
  36. parameter="a" 
  37. path="/a" 
  38. scope="request" 
  39. type="com.hqh.struts.action.TestMappingDispatchAction" />  
  40. <action 
  41. attribute="testMappingDispatchForm" 
  42. input="/index.jsp" 
  43. name="testMappingDispatchForm" 
  44. parameter="b" 
  45. path="/b" 
  46. scope="request" 
  47. type="com.hqh.struts.action.TestMappingDispatchAction" />  
  48.  
  49. </action-mappings>  
  50.  
  51. <message-resources parameter="com.hqh.struts.ApplicationResources" />  
  52. </struts-config> 

TestDispatchAction.java

  
  
  
  
  1. /*  
  2. * Generated by MyEclipse Struts  
  3. * Template path: templates/java/JavaClass.vtl  
  4. */  
  5. package com.hqh.struts.action;  
  6.  
  7. import javax.servlet.http.HttpServletRequest;  
  8. import javax.servlet.http.HttpServletResponse;  
  9.  
  10. import org.apache.struts.action.ActionForm;  
  11. import org.apache.struts.action.ActionForward;  
  12. import org.apache.struts.action.ActionMapping;  
  13. import org.apache.struts.actions.DispatchAction;  
  14.  
  15. import com.hqh.struts.form.TestDispatchForm;  
  16.  
  17. /**   
  18. * MyEclipse Struts  
  19. * Creation date: 09-30-2007  
  20. *   
  21. * XDoclet definition:  
  22. * @struts.action path="/testDispatch" name="testDispatchForm" input="/form/testDispatch.jsp" parameter="method" scope="request" validate="true" 
  23. */  
  24. public class TestDispatchAction extends DispatchAction {  
  25. /*  
  26. * Generated Methods  
  27. */  
  28.  
  29. /**   
  30. * Method execute 
  31. * @param mapping  
  32. * @param form  
  33. * @param request  
  34. * @param response  
  35. * @return ActionForward  
  36. */  
  37. public ActionForward a(ActionMapping mapping, ActionForm form,  
  38. HttpServletRequest request, HttpServletResponse response) {  
  39. TestDispatchForm testDispatchForm = (TestDispatchForm) form;  
  40. System.out.println("TestDispatchAction-->a");  
  41. return null;  
  42. }  
  43. public ActionForward b(ActionMapping mapping, ActionForm form,  
  44. HttpServletRequest request, HttpServletResponse response) {  
  45. TestDispatchForm testDispatchForm = (TestDispatchForm) form;  
  46. System.out.println("TestDispatchAction-->b");  
  47. return null;  
  48. }  
  49. public ActionForward c(ActionMapping mapping, ActionForm form,  
  50. HttpServletRequest request, HttpServletResponse response) {  
  51. TestDispatchForm testDispatchForm = (TestDispatchForm) form;  
  52. System.out.println("TestDispatchAction-->c");  
  53. return null;  
  54. }  
  55. }  
  56.  
  57. TestLookupDispatchAction.java  
  58.  
  59. /*  
  60. * Generated by MyEclipse Struts  
  61. * Template path: templates/java/JavaClass.vtl  
  62. */  
  63. package com.hqh.struts.action;  
  64.  
  65. import java.util.HashMap;  
  66. import java.util.Map;  
  67.  
  68. import javax.servlet.http.HttpServletRequest;  
  69. import javax.servlet.http.HttpServletResponse;  
  70.  
  71. import org.apache.struts.action.ActionForm;  
  72. import org.apache.struts.action.ActionForward;  
  73. import org.apache.struts.action.ActionMapping;  
  74. import org.apache.struts.actions.LookupDispatchAction;  
  75.  
  76. import com.hqh.struts.form.TestLookupDispatchForm;  
  77.  
  78. /**   
  79. * MyEclipse Struts  
  80. * Creation date: 09-30-2007  
  81. *   
  82. * XDoclet definition:  
  83. * @struts.action path="/testLookupDispatch" name="testLookupDispatchForm" input="/form/testLookupDispatch.jsp" parameter="cmd" scope="request" validate="true" 
  84. */  
  85. public class TestLookupDispatchAction extends LookupDispatchAction {  
  86. /*  
  87. * Generated Methods  
  88. */  
  89. public ActionForward a(ActionMapping mapping, ActionForm form,  
  90. HttpServletRequest request, HttpServletResponse response) {  
  91. TestLookupDispatchForm testLookupDispatchForm = (TestLookupDispatchForm) form;  
  92. System.out.println("TestLookupDispatchAction--a");  
  93. return null;  
  94. }  
  95. public ActionForward b(ActionMapping mapping, ActionForm form,  
  96. HttpServletRequest request, HttpServletResponse response) {  
  97. TestLookupDispatchForm testLookupDispatchForm = (TestLookupDispatchForm) form;  
  98. System.out.println("TestLookupDispatchAction--b");  
  99. return null;  
  100. }  
  101.  
  102. @Override  
  103. protected Map getKeyMethodMap() {  
  104. Map map = new HashMap();  
  105. map.put("button.a""a");  
  106. map.put("button.b""b");  
  107. return map;  
  108. }  

TestMappingDispatchAction.java

  
  
  
  
  1. /*  
  2. * Generated by MyEclipse Struts  
  3. * Template path: templates/java/JavaClass.vtl  
  4. */  
  5. package com.hqh.struts.action;  
  6.  
  7. import javax.servlet.http.HttpServletRequest;  
  8. import javax.servlet.http.HttpServletResponse;  
  9. import org.apache.struts.action.ActionForm;  
  10. import org.apache.struts.action.ActionForward;  
  11. import org.apache.struts.action.ActionMapping;  
  12. import org.apache.struts.actions.MappingDispatchAction;  
  13. import com.hqh.struts.form.TestMappingDispatchForm;  
  14.  
  15. /**   
  16. * MyEclipse Struts  
  17. * Creation date: 09-30-2007  
  18. *   
  19. * XDoclet definition:  
  20. * @struts.action path="/testMappingDispatch" name="testMappingDispatchForm" input="/form/testMappingDispatch.jsp" parameter="a" scope="request" validate="true" 
  21. */  
  22. public class TestMappingDispatchAction extends MappingDispatchAction {  
  23. /*  
  24. * Generated Methods  
  25. */  
  26. public ActionForward a(ActionMapping mapping, ActionForm form,  
  27. HttpServletRequest request, HttpServletResponse response) {  
  28. TestMappingDispatchForm testMappingDispatchForm = (TestMappingDispatchForm) form;  
  29. System.out.println("TestMappingDispatchAction-->a");  
  30. return null;  
  31. }  
  32. public ActionForward b(ActionMapping mapping, ActionForm form,  
  33. HttpServletRequest request, HttpServletResponse response) {  
  34. TestMappingDispatchForm testMappingDispatchForm = (TestMappingDispatchForm) form;  
  35. System.out.println("TestMappingDispatchAction-->b");  
  36. return null;  
  37. }  

 

你可能感兴趣的:(struts,dispatchaction)