gcgan 写道:
struts.xml
1. xml version="1.0" encoding="UTF-8" ?>
2.
3. "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN"
4. "http://struts.apache.org/dtds/struts-2.0.dtd">
5.
6. <struts>
7.
8. <include file="struts-default.xml" />
9.
10. <package name="default" extends="struts-default">
11. <default-interceptor-ref name="completeStack" />
12.
13. <global-results>
14. <result name="login" type="redirect">login!default.actionresult>
15. <result name="unauthorized">unauthorized.jspresult>
16. global-results>
17.
18. <action name="login" class="com.baseframe.action.LoginAction">
19. <result name="input">login.jspresult>
20. <result name="success">main.jspresult>
21. <result name="error">login.jspresult>
22. action>
23. <action name="logout" class="com.baseframe.action.LogoutAction">
24. <result name="success">login.jspresult>
25. action>
26. package>
27.
28. struts>
<action></action>的class是用的类如:com.baseframe.action.LoginAction,请问什么地方体现了struts+spring呢?
我觉得是不是应该用spring的bean来代替类呢?
spring的bean应该在action中调用,在LoginAction中应该包含类似如下的代码:
private EmployeeService employeeService;
public void setEmployeeService(EmployeeService employeeService) {
this.employeeService = employeeService;
}
这个EmployeeService才是spring的bean
只要你再struts.properties文件中设定了struts.objectFactory = spring,加入struts2-spring-plugin-2.0.6.jar就可以了
======================
这样搭配似乎美中不足。既然你选择了SPRING作为IOC容器,那么你的ACTION也应该被SPRING的IOC管理
更正
WEB.XML添加
Java代码
1. <listener>
2. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
3. </listener> <listener>
4. <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
5. </listener>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener> <listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
Spring配置文件添加
Java代码
1. <bean id="LoginAction" class="com.baseframe.action.LoginAction"/>
2. <bean id="LogoutAction" class="com.baseframe.action.LogoutAction"/>
<bean id="LoginAction" class="com.baseframe.action.LoginAction"/>
<bean id="LogoutAction" class="com.baseframe.action.LogoutAction"/>
最后struts.xml配置文件改下
Java代码
1. <action name="login" class="LoginAction">
2. <result name="input">login.jspresult>
3. <result name="success">main.jspresult>
4. <result name="error">login.jspresult>
5. action>
6. <action name="logout" class="LogoutAction">
7. <result name="success">login.jspresult>
8. action>
<action name="login" class="LoginAction">
<result name="input">login.jspresult>
<result name="success">main.jspresult>
<result name="error">login.jspresult>
action>
<action name="logout" class="LogoutAction">
<result name="success">login.jspresult>
action>
这样容器管理就交给SPRING好了。