在Struts2中,type="json“这样是用来做AJAX请求的
所以根本就没有跳转页面。
json是一种数据格式,具体可以网上去学习一下。
在Struts2中,如果这样写,会将你Action中的变量转成JSON 返回到页面
用来做AJAX是非常方便的。
只要继承extends="json-default",result type设置成json之后,容器会把action的属性自动封装到一个json对象中(json拦截器来做)
1, ignoreHierarchy 参数:默示是否忽视等级,也就是持续关系,比如:TestAction 持续于 BaseAction,那么 TestAction 中返回的 json 字符串默认是不会包含父类 BaseAction 的属性值,ignoreHierarchy 值默认为 true,设置为 false 后会将父类和子类的属性一路返回。
<result type=”json”>
<paramname=”ignoreHierarchy”>false</param>
</result>
2, excludeNullProperties 参数:默示是否去掉空值,默认值是 false,若是设置为 true 会主动将为空的值过滤,只输出不为空的值。
<result ype=”json”>
<paramname=”excludeNullProperties”>true</param>
</result>
3, root 参数:从返回成果中按照 ognl 表达式取出你须要输出的成果。 只输出 person 对象的 name 属性值,设备如下:
<result type=”json”>
<param name=”root”>person.name</param>
</result>
4, includeProperties 参数:输出成果中须要包含的属性值,这里正则表达式和属性名匹配,可以用 “,” 分别填充多个正则表达式。
<result type=”json”>
<param name=”includeProperties”>person.*, person.name</param>
</result>
5, excludeProperties 参数:输出成果须要剔除的属性值,也支撑正则表达式匹配属性名,可以用 “,” 分别填充多个正则表达式,类同 includeProperties 参数。