熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> Java編程 >> Java開源技術 >> 正文

Spring 和struts 整合的三種方式[2]

2022-06-13   來源: Java開源技術 

  sturtsconfigxml  中  <controller processorClass=orgspringframeworkwebstrutsDelegatingRequestProcessor/> 通過 <controller >來替代orgapachestrutsactionRequestProcessor 的請求處理

public class LoginAction extends Action {
 //利用spring來注入這個對象
 private LoginDao dao ;
 
 public void setDao(LoginDao dao) {
  Systemoutprintln(執行注入);
  thisdao = dao;
 }

 public LoginDao getDao() {
  return dao;
 }

 public ActionForward execute(ActionMapping mapping ActionForm form
   HttpServletRequest request HttpServletResponse response) {
  LoginForm loginForm = (LoginForm) form;// TODO Autogenerated method stub
  //這樣一改這行代碼似乎沒有必要了
  //WebApplicationContext ctx = thisgetWebApplicationContext();
  //LoginDao dao = (LoginDao) ctxgetBean(loginDao);
 
  User u = new User();
 
  usetName(loginFormgetName());
  usetPwd(loginFormgetPwd());
 
  //直接用dao來調用spring會將這個對象實例化
  if(daocheckLogin(u)){
   return mappingfindForward(success);
  }else{
   return  mappingfindForward(error);
  }
 
 }
}

  這裡的

  LoginAction extends Action 說明 struts 每有和spring 耦合

  看一下applicationContextxml 中的配置

<beans>
 <bean id=loginDao class=comcaodaoLoginDao/>
 
 <bean name=/login class=comcaostrutsactionLoginAction>
  <property name=dao>
   <ref local=loginDao/>
  </property>
 </bean>
</beans>

  這裡 name=/login 與struts 中的path匹配class=comcaostrutsactionLoginAction 與struts 中的type匹配

  還要為 LoginAction 提供必要的setXXX方法 獲得ApplicationCotext和依賴注入的工作都在DelegatingRequestProcessor中完成

[]  []  []  


From:http://tw.wingwit.com/Article/program/Java/ky/201311/29075.html
    推薦文章
    Copyright © 2005-2022 電腦知識網 Computer Knowledge   All rights reserved.