将struts2的action付给spring管理及注意事项
将struts2的action交给spring管理及注意事项
我这个好像就是把action的初始化交给spring吧,不太明白你的意思
将struts2中的action交给spring管理
1.xml方式
applicationContext.xml
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.5.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd"> <bean id="testAction" class="com.je.app.web.JeTestAction" scope="prototype"></bean> </beans>
sturts.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="je" extends="struts-default" namespace="/je"> <!-- Test--> <action name="test" class="testAction"> <result name="invalid.token">/pages/je/test.jsp</result> </action> </package> </struts>
2.注解方式
JeTestAction.java
/** * JeTestAction * @author wkkyo */ @Controller @Scope("prototype") public class JeTestAction extends ActionSupport { }
sturts.xml
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <package name="je" extends="struts-default" namespace="/je"> <!-- Test--> <action name="test" class="jeTestAction"> <result name="invalid.token">/pages/je/test.jsp</result> </action> </package> </struts>
注意:如果没有指定scope就会出现action属性保存(验证)后一直存在的问题,导致后面的保存(验证)根本没有进行
所以在spring中配置action时要指定scope属性为prototype
配置文件中加入scope="prototype"
<bean id="testAction" class="com.je.app.web.JeTestAction" scope="prototype"></bean>
注解的话要加上@Scope("prototype")
这样就ok了
默认的spring的bean的周期是单态的(Singleton)
对于每一次请求就不会生成新的实例
1 楼
天塔上的猫
2011-11-08
恩 不错的文档,不给是不是应该把web.xml这个也贴出来呢
是不是应该在里面那配个Listener?将acton的初始化也交给spring来管理起来,望斧正
是不是应该在里面那配个Listener?将acton的初始化也交给spring来管理起来,望斧正
2 楼
wkkyo
2012-01-31
天塔上的猫 写道
恩 不错的文档,不给是不是应该把web.xml这个也贴出来呢
是不是应该在里面那配个Listener?将acton的初始化也交给spring来管理起来,望斧正
是不是应该在里面那配个Listener?将acton的初始化也交给spring来管理起来,望斧正
我这个好像就是把action的初始化交给spring吧,不太明白你的意思
3 楼
小米虫
2012-03-20
在struts中配置的acion,将其class指向在spring定义的bean,结果我运行时提示找不到该类。jar包我都引进来了