日期:2014-05-16  浏览次数:20337 次

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

在使用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) 这种方法

?

	@JSON(serialize = false)
	public UserDao getUserDao() {
		return userDao;
	}

?

1 楼 skcmm 2011-09-01  
如果是用 @autowrite 注解的呢