Sturts2 使用 json-plugin序列化时屏蔽无关对象方法

本文介绍了在使用Struts2的JSON插件时如何避免序列化不需要的属性,特别是DAO对象,以防止出现序列化错误。提供了两种屏蔽特定属性的方法:不提供getter方法或使用@JSON(serialize=false)注解。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

在使用struts2的json-plugin时,如果要序列化一个Action,应该屏蔽掉不需要序列化的属性,比如dao等。

尤其是Dao,如果不屏蔽,将会导致

 

如下的错误:

 

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

 

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: org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException:org.apache.struts2.json.JSONException: org.apache.struts2.json.JSONException:java.lang.reflect.InvocationTargetExceptionpache.struts2.json.JSONException:

 

屏蔽的方法很简单:不要给该要屏蔽的属性设置getter

 

或者 在要屏蔽的属性的getter前加上注解 @JSON(serialize = false) 这种方法

 

Java代码 

@JSON(serialize = false)  

public UserDao getUserDao() {  

    return userDao;  

}  

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值