您的位置:首页 > 运维架构 > Apache

有点小郁闷-- org.apache.struts2.json.JSONException:

2012-10-30 21:12 232 查看
今天一下午就被一个异常难住了,第一次结合了struts2和hibernate做一个项目,结果出问题了。。。。。。

通过json向页面传对象的时候一直报错:

org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException:
java.lang.reflect.InvocationTargetException

org.apache.struts2.json.JSONWriter.bean(JSONWriter.java:243)

org.apache.struts2.json.JSONWriter.process(JSONWriter.java:165)

org.apache.struts2.json.JSONWriter.value(JSONWriter.java:131)

org.apache.struts2.json.JSONWriter.write(JSONWriter.java:99)

org.apache.struts2.json.JSONUtil.serialize(JSONUtil.java:112)

org.apache.struts2.json.JSONResult.execute(JSONResult.java:198)

com.opensymphony.xwork2.DefaultActionInvocation.executeResult(DefaultActionInvocation.java:362)

在网上找了半天,说了几种情况,

一个是action中的getset方法使用不当(例如把service对象设置了getset对象、或者自己定义的方法有get、set方法开头的)

二是说hibernate中的session对象没有关闭,出现缓存错误,我关闭了吧,页面又无法得到数据,我就想了个办法,在hibernate.cfg.xml中改变session的声明周期,

<property name="hibernate.current_session_context_class">thread</property>

还差不多就是这样,我把前面的一种情况检查了下,发现自己没有出现这样的问题,所以想想是session未关闭。出现缓存冲突什么的。所以就换了一种方式使用session,就是改变session的生命周期 ,然后得到session对象通过SessionFfactory 的getCurrentSession()方法。

后面差不多就这样没有管了,因为觉得心情有点烦躁了。弄了一大下午。后面运行的时突然发现能用了。。。所以肯定是session的问题,但至于是不是session范围的问题。。。我不怎么清楚
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐