struts與spring整合方法 <!-- 載入applicationContext上下文--> <context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/*applicationContext*.xml</param-value> </context-param> 第一種:使用 Spring 的 ActionSupport 類整合 Structs 繼承spring的ActionSupport類 public class ShowDeptListAction extends ActionSupport { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { DeptManager deptManager = (DeptManager) getWebApplicationContext() .getBean("deptManager"); List<Dept> list = deptManager.getAllDept(); request.setAttribute("list", list); return mapping.findForward("ok"); } } 第二種:使用 Spring 的 DelegatingRequestProcessor 覆蓋 Struts 的 RequestProcessor 在struts-config.xml 文件加入: <controller processorClass="org.springframework.web.struts.DelegatingRequestProcessor" /> 在spring上下文配置文件中做爲bean註冊: <beans> <bean name="/showDeptList" class="cn.com.thinkbank.struts.action.ShowDeptListAction"> <property name="deptManager" ref="deptManager" > </property> </bean> </beans> servlet代碼類以下: public class ShowDeptListAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { List<Dept> list = deptManager.getAllDept(); request.setAttribute("list", list); return mapping.findForward("ok"); } private DeptManager deptManager; public void setDeptManager(DeptManager deptManager) { this.deptManager = deptManager; } } 第三種:將 Struts Action 管理委託給 Spring 框架 在struts-config.xml 文件加入: <action-mappings> <action path="/showDeptList" type="org.springframework.web.struts.DelegatingActionProxy"> <forward name="ok" path="/form/showDeptList.jsp"></forward> </action> </action-mappings> 在spring上下文配置文件中做爲bean註冊: <bean name="/showDeptList" class="cn.com.thinkbank.struts.action.ShowDeptListAction"> <property name="deptManager" ref="deptManager" > </property> </bean> servlet代碼類以下: public class ShowDeptListAction extends Action { public ActionForward execute(ActionMapping mapping, ActionForm form, HttpServletRequest request, HttpServletResponse response) { List<Dept> list = deptManager.getAllDept(); request.setAttribute("list", list); return mapping.findForward("ok"); } private DeptManager deptManager; public void setDeptManager(DeptManager deptManager) { this.deptManager = deptManager; } }