JSON插件执行的流程如下:
struts中配置如下:
<package name="json" extends="json-default" namespace="/test"> <action name="testByAction" class=" UserAction" method="testByAction"> <result name="success" type="json"> <param name="root">dataMap</param> </result> </action> </package>
1.需要继承 json-default 包
2. result 类型需为 json
3 . param 的名字有下面几种
a. root: 可以称为“根对象”, 默认将会序列所有有返回值的 getter 方法的值,而无论该方法是否有对应属性。可以指定为某一个对象。如上面的配置,如不配置root则表示返回所有该类的 getter 方法的值。如配置为dataMap,则表示只返回getDataMap对象的值,后面的包含不包含等配置,也只能根据 dataMap来配置。
b. ignoreHierarchy:默认为true,表示不返回父类中的getter 方法的值 ;设为false后,会返回包含父类的getter 方法的值 。
c. excludeNullProperties : 指定是否序列化空的属性。
d. includeProperties : 这里指定 root返回的结果中 需要输出的 属性。支 持正则表达式匹配属性名,可以用 “,” 分割填充多个正则表达式。
e. excludeProperties: 这里指定root返回的结果中需要 排除的属性,这些排除的属性将不被序列化,一般不与上边的 includeProperties 参数配置同时出现 。支 持正则表达式匹配属性名,可以用 “,” 分割填充多个正则表达式。比如在返回用户信息时,指定不返回密码属性。
当需要处理以JSON文本提交的请求时,需要配置拦截器<interceptor-ref name="json" />