Spring与Struts结合策略:
1.依赖查找方式
2.Action注入方式
3.使用ActionSupport代替Action
1.在Struts的Action中通过依赖查找方式取得BeanFactory,只要获得BeanFactory对象,就可以从IOC容器中获取业务对象然后调用业 务方法 ,从而实现Spring与Struts的结合。在Spring中最重要的是得到BeanFactory,只有得到该对象才能从IOC容器中获取业务对象,并调用业务对象的方法,所以在Action类中实现BeanFactory类是一个不错的选择。
实例:
==> index.jsp;
login.jsp;
==> 对LoginActionForm中封装的信息实现相应的功能,建立接口public interface UserManager{};
建立接口的实现类public class UserManagerAdd implements UserManager{};
==> LoginAction.java;
public class LoginAction extends Action{
(ActionMapping mapping,ActionForm form,
HttpServletRequest request,HttpServletResponse response){
LoginForm loginForm = (LoginForm)form;
//获取工厂Bean对象
BeanFactory factory = WebAppliactionContextUtils
.getRequiredWebApplicationContext (request
.getSession
.getServletContext());
//获取Bean对象
UserManager userManager = (UserManager)factory.getBean("userManager");
userManager.login(loginForm.getUserName(),loginForm.getPassword());
}
return mapping.findForward("success");
}
==> success.jsp
==> struts-config.xml
<action-mappings>
<action path="/login" type="com.cjg.user.actions.LoginAction" name="loginForm" scope="request"></action>
</action-mappings>
==>spring的配置文件:applicationContext.xml
<bean id="userManager" class="com.cjg.user.manager.UserManagerAdd"/></beans>