锁定老帖子 主题:ssh合作,这样配置是否正确
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
|
|
---|---|
作者 | 正文 |
发表时间:2012-02-23
最后修改:2012-02-23
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; } } 实体 @Entity @Table(name = "MH_NAVIGATION") public class Navigation implements Serializable { private static final long serialVersionUID = -7534010944756906396L; @Id @GenericGenerator(name = "idGenerator", strategy = "uuid") @GeneratedValue(generator = "idGenerator") private String id; private String name; private String link; private String type; private String target; private String description; private String ctime; private String rank; private String state;//get set省略…… } 页面 <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对象 声明:ITeye文章版权属于作者,受法律保护。没有作者书面许可不得转载。
推荐链接
|
|
返回顶楼 | |
发表时间:2012-02-23
没有建议吗?
|
|
返回顶楼 | |
发表时间:2012-02-23
set是用来干嘛的
|
|
返回顶楼 | |
发表时间:2012-02-23
我在action中的setNavi上合navi的所有set属性方法上加断点,发现每次setNavi的时候都会创建一个navi对象
|
|
返回顶楼 | |
发表时间:2012-02-23
我找到原因了,你们猜?
|
|
返回顶楼 | |
发表时间:2012-02-26
Navigation 构造器有问题?
|
|
返回顶楼 | |
发表时间:2012-02-26
真的没必要用struts,spring mvc足够强大了
|
|
返回顶楼 | |
发表时间:2012-02-26
你的 Action方法中 把get()方法放进去试试
|
|
返回顶楼 | |
发表时间:2012-02-26
action中有setter方法, 对象中含无参构造方法, 对象中的属性有set/get
|
|
返回顶楼 | |
发表时间:2012-02-27
最后修改:2012-02-27
SoCoolMan 写道 你的 Action方法中 把get()方法放进去试试
如这位兄台所说,action中的navi没有get方法,每次struts找action中的navi对象找不到就新创建一个set进去,最后对象里只有一个属性。本来是想action中代码简洁一点,不添加没有用的方法,没想到get方法也有用,struts真不智能啊,同一个action的同一个属性同一次请求new了一次还去new |
|
返回顶楼 | |