1、首先把spring和struts需要的包加入到工程lib下
2、在struts-config.xml中添加插件
1
<struts-config>
2
<plug-in
3
className="org.springframework.web.struts.ContextLoaderPlugIn">
4
<set-property property="contextConfigLocation"
5
value="/WEB-INF/applicationContext.xml" />
6
</plug-in>
7
</struts-config>
8

2

3

4

5

6

7

8

注:為 Struts 的 ActionServlet 裝載 Spring 應(yīng)用程序環(huán)境。就像添加任何其他插件一樣,簡單地向您的 struts-config.xml 文件添加該插件。
3、對Action進行配置
1
<action-mappings>
2
<action path="/reg"
3
type="org.springframework.web.struts.DelegatingActionProxy"
4
name="regForm">
5
</action>
6
</action-mappings>
7

2

3

4

5

6

7

注:,Struts 在運行期加載的實際上是DelegatingActionProxy , 而
DelegatingActionProxy則實現(xiàn)了針對實際Action的調(diào)用代理,Struts最終調(diào)用的將是由Spring
管理的Action實例。
4、在beans-config.xml中配置的要點:
1
<bean id="userBLL" class="com.bll.UserBLL"></bean>
2
<bean name="/reg" class="com.web.struts.action.RegAction"
3
singleton="false">
4
<property name="userBusiness">
5
<ref bean="userBLL" />
6
</property>
7
</bean>

2

3

4

5

6

7

注意這里的name="/reg"里的值(/reg)要和struts-config.xml里Action的path值一樣
如果啟動出現(xiàn)java.lang.NoClassDefFoundError: javax/transaction/UserTransaction
請在lib下加入jta.jar包
5、最后寫個action測試下:
1
package com.web.struts.action;
2
3
import javax.servlet.http.HttpServletRequest;
4
import javax.servlet.http.HttpServletResponse;
5
import org.apache.struts.action.Action;
6
import org.apache.struts.action.ActionForm;
7
import org.apache.struts.action.ActionForward;
8
import org.apache.struts.action.ActionMapping;
9
import org.apache.struts.validator.DynaValidatorForm;
10
11
import com.bll.UserBLL;
12
import com.vo.User;
13
14
15
public class RegAction extends Action {
16
17
private UserBLL userBusiness=null;//通過spring注入實例化對象
18
19
20
public ActionForward execute(
21
ActionMapping mapping,
22
ActionForm form,
23
HttpServletRequest request,
24
HttpServletResponse response) {
25
DynaValidatorForm regForm = (DynaValidatorForm) form;
26
27
String email=regForm.getString("email").toString();
28
String username=regForm.get("username").toString();
29
String password=regForm.get("password1").toString();
30
User user=new User(username,password,email);
31
if(this.getUserBusiness().addUser(user)) {
32
System.out.print("success");
33
}else{
34
System.out.print("error");
35
}
36
return null;
37
}
38
39
public UserBLL getUserBusiness() {
40
return userBusiness;
41
}
42
43
public void setUserBusiness(UserBLL userBusiness) {
44
this.userBusiness = userBusiness;
45
}
46
47
48
}
49

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49
