xautlx / s2jh

A Java/J2EE development framework for enterprise system based on Struts/Spring/JPA/Hibernate and jquery/bootstrap
GNU Lesser General Public License v3.0
321 stars 242 forks source link

请求http://localhost:8080/showcase/auth/user!findByPage返回为空 #15

Closed leoshus closed 11 years ago

leoshus commented 11 years ago

请教一下前台调用controller里的/user!findByPage方法,其中的setModel()之后 怎么返回前台json数据 这一点儿没弄太明白 还请不吝赐教

xautlx commented 11 years ago

基本原理是借助Struts的REST Plugin和ModelDriven机制,详见 http://struts.apache.org/development/2.x/docs/rest-plugin.html ,REST基于ModelDriven返回的对象并根据请求类型如后缀名为.json或.xml等,进行不同格式数据的响应。本框架参考Spring MVC机制,扩展添加了一个NegotiationContentTypeHandlerManager实现基于Accept请求头标识(基于JQuery的JSON类型AJAX请求自动设置)进行json格式数据响应。

leoshus commented 11 years ago

调试时/user!findByPage方法,setModel(page) page是有值的 但是传到前台就为空了 而且在ValueStack中为什么model还是null的呢?而且传到前台怎么会以xml的形式解析呢(如下图)请求头 貌似是没问题 应该是我处理时出的问题吧?找了半天还是没有什么头绪 image image

xautlx commented 11 years ago

看路径好像不是框架本身样例或原型应用的问题,目前信息看不出具体问题,需要了解在框架配置上面做了什么其他改动配置才能看出问题了。

leoshus commented 11 years ago

恩 非常感谢 错终于debug出来啦 我自己改造的JacksonMapperFactory有点儿问题 还有想请教一下 为什么ValueStack里的model一直为空呢

xautlx commented 11 years ago

不太明白“ValueStack里的model一直为空”是什么意思?既然页面能显示表单数据或JSON数据,那说明model肯定是有值才能输出数据。

leoshus commented 11 years ago

恩 我感觉也不应该为空 但是我无意中在页面使用"观察到的model 是null 的 image

xautlx commented 11 years ago

是这样的,model应该是在不同请求会不同设置,如index请求应该是没有数据的,一般findByPage和input编辑时model对象应该有数据的。