1.struts.xml的配置
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.1//EN" "http://struts.apache.org/dtds/struts-2.1.dtd"> <struts> <constant name="struts.objectFactory" value="spring"/> <package name="jsonTest" namespace="/test" extends="struts-default,json-default"> <action name="test" class="test" method="getData"><result type="json"><param name="root">responseJson</param></result></action> </package> </struts>
最重要的<constant name="struts.objectFactory" value="spring"/>Struts2的action由Spring来负责进行实例化。
另外<action name="test" class="test" method="getData">会自动在spring中找到名为test的bean.
2.applicationContext.xml配置
<bean id="test" class="action.Test" scope="prototype" />
在spring中配置相应的action的bean。我这里是default-autowire="byName",根据名称自动注入bean的。需要注意的就是一定要有 scope="prototype" ,因为action是多线程的,spring是单实例的。