struts 2.3 spring3.1 hibernate3.6
web.xml
struts.xml
action代码
页面
提交的结果是navi对象里只有一个属性有值
浏览器请求中所有的属性都post了
debug,action中setNavi执行了几次,属性都是空,进入add方法后navi里只有一个属性有值。
不知道我这中使用方法有什么问题,为什么属性set不进去。
我的思路是spring注解管理bean,struts直接找spring里的action对象
web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>classpath:root-context.xml</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<filter>
<filter-name>struts2</filter-name>
<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
struts.xml
<constant name="struts.objectFactory" value="org.apache.struts2.spring.StrutsSpringObjectFactory" />
<package name="default" namespace="/" extends="json-default">
<action name="*_*" class="{1}Action" method="{2}">
<result>/WEB-INF/views/admin/{1}_list.jsp</result>
</action>
</package>
action代码
@Scope("prototype")
@Controller("naviAction")
public class NaviAction {
private Navigation navi;
public String add() {
return "add";
}
//getter and setter
public void setNavi(Navigation navi) {
this.navi = navi;
}
}
页面
<form id="channel_form" action="Navi_add" method="post">
<input name="navi.name" type="text">
<input name="navi.rank" type="text">
<input name="navi.link" type="text">
<input name="navi.type" type="text">
<input type="submit">
</form>
提交的结果是navi对象里只有一个属性有值
浏览器请求中所有的属性都post了
debug,action中setNavi执行了几次,属性都是空,进入add方法后navi里只有一个属性有值。
不知道我这中使用方法有什么问题,为什么属性set不进去。
我的思路是spring注解管理bean,struts直接找spring里的action对象