struts2+spring+hibernate引入json插件

struts2+spring+hibernate js框架应用了Jquery 数据传输json
json与spring 的冲突 出现jsonwriter异常下面具体操作!用@JSON(serialize=false) 防止序列化
当struts2的action配置引入json 时,例如:
<package name="com.pdna.student.action.LessonAction_xl" extends="json-default">
<action name="jsontest" class="LessonAction_xl" method="jsontest">
<result type="json"></result>
</action>
</package>
此时引入json 插件 返回数据自动封为json数据,前台接受
fucntion jsontest(){
var url="jsontest.action";
//dt为返回数据
jQuery.post(url,function(dt){
//alert(dt) //可以查看返回的 dt 格式
var tpy = eval('(' + dt+ ')');
})

}
action 中的方法
private List publist;
private JsonService jsonservice; //spring 注入的service

public String jsontest(){
try{
publist=jsontestservice.jsontest()
return SUCCESS;
}cacth(Exception ex){
ex.printStackTrace();
return ERROR;
}
}
//get -set 方法

//这里操作 防止json 将注入的bean 序列化。 或者在action 中配置 不被序列化的属性 <result type="json"><param

name="excludeProperties">JsonService</param></result>
@JSON(serialize=false)
public JsonService getJsonService() {
return jsonservice;
}
public void setJsonService(JsonService jsonservice) {
this.jsonservice = jsonservice;
}
public List getPublist() {
return publist;
}
public void setPublist(List publist) {
this.publist = publist;
}
service中的 操作方法不在这里写了


使用json 时候报
Positioned Update not supported 异常
出现此类异常 主要原因是在操作的 hibernate dao 类有 映射关系
由于jsonplugin并不区分类和动态生成的类,所以也会试图序列化hibernateLazyInitializer属性,从而导致出现上述的异常,
网上会找到很多的解决办法,我的解决方法
方法一:将 映射关系的延迟加载lazy="false";
方法二:hibernate 完全交给spring 管理
<filter>
<filter-name>hibernateFilter</filter-name>
<filter-class>
org.springframework.orm.hibernate3.support.OpenSessionInViewFilter
</filter-class>
<init-param>
<param-name>singleSession</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>hibernateFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值