第一種方式:classname
用註解配置action 是:@action(value="/action"),但將註解和spring聯絡起來,我們看文件知道,只需要@action(value="/action" classname="spring中的id"),這樣,當放問這個action時,struts2就向spring要action,spring則會通過這個classname來匹配id,然後返回匹配的action類的例項。
import org.apache.struts2.convention.annotation.action;
import org.xuliang.services.myuserservice;
import org.xuliang.vos.loginvo;
public class myloginaction
public myuserservice getmus()
public void setmus(myuserservice mus)
public loginvo getlv()
public void setlv(loginvo lv)
}
注:當上面的this.hashcode()可以看出這個類的例項是由spring生產的還是struts2生產的,當你配置的classname在beans.xml中找不到指定的id時或不配置classname(其中也除了在beans.xml中有bean的id配置這個類的全名),就由struts2產生,否則是spring產生
spring對應的id的bean產生的
當spring中的beans.xml中配置scopt="single" 如果輸出的hashcode是一樣的則是spring產生的,反之是struts2產生的
另外一種方式:不用配classname,直降在spring裡面配置這個類的全名org.hzy.actions.myloginaction則可以,
註解中,是不需要為action指定class這個屬性的,其實並不代表這個屬性不存在,這個屬性的值就是@action所在的類名,當訪問沒有設定classname屬性的action時,struts2找spring要action,spring就通過這個action類的全名來匹配id的bean,所以,所以我們將這個bean的id設定為action的類名時,spring就能匹配到,這樣的配置方式使得spring和struts2解藕度就很好.
Struts2與Spring的整合
struts2與spring的整合,是mvc和ioc的整合,必須充分利用他們的特性 1 整合的原理 struts2 攔截使用者請求後,需要將資訊通過struts.xml的配置檔案的內容傳遞到相應的action中,在這個時候就需要建立action例項,整合spring框架後,action例項交給spr...
Spring如何與struts2結合
1.struts2的action由spring來負責進行例項化 struts.xml 2.專案啟動時由裝載spring web.xml org.springframework.web.context.contextloaderlistener web inf teacher selectall.js...
Struts2與Spring的整合
今天倒騰了半天,終於是把這個兩個框架整合到一起了。還是要寫一下總結,同時給大家一些幫助。開發環境 myeclipse 9.0 不好用!tomcat6.0 1.準備工作 需要匯入的包 struts2與spring基本的包就不用說了,我用的是struts2.1 spring 3.0,尤其要注意 別少匯入...