在用struts2 的Action 加@ParentPackage(“json-default”)注解 或者struts.xml 配置文件中 Action所在的package 继承 json-default,Action中方法返回json类型的数据时,在没有任何设定的情况下,该类下的所有getter方法的返回值将被包含在返回给客户端的JSON字符串中。
Struts2使用json-default返回json数据:
1.配置struts.xml
<!--package必须继承json-default-->
<package name="test" namespace="/" extends="json-default">
<action name="" class="">
<!--返回类型指定为json-->
<result name="success" type="json" >
<!--1.不填param返回这个Action的所有get方法的属性-->
<!--2.排除Action中的哪些属性-->
<param name="excludeProperties">属性1,属性2</param>
<!--3.包含Action中的哪些属性-->
<param name="includeProperties">属性1,属性2</param>
<!--4.排除Action中属性值为空的字段-->
<param name="excludeNullProperties">true</param>
<!--5.从哪里开始序列化 -->
<param name="root">person</param>
<!--person对应的可以是一个属性,也可以是一个对象,也可以是一
个集合,当在这里定义后,只会将person进行序列化,如果person是
一个对象,则会将person对象中所有的getter方法都进行序列化-->
</result>
</action>
</package>
注意:如果相同属性同时定义了excludeProperties和includeProperties
那么excludeProperties的优先级要高,因此不对该属性进行序列化
2.Action
在没有任何设定的情况下,该类下的所有getter方法的返回值将被包含在返回给客户端的JSON字符串中
3.ajax请求
<!--data就是struts返回的json数据-->
$.get("action",function(data){},"json");