1. 原始处理异步提交(ajax)的方法?
原始:
HttpServletResponse response = ServletActionContext.getResponse();
response.getWriter().write(“hello ” + msg);
response.getWriter().close();
2. struts2中提供的json插件
<1>导入jar包
在struts2的lib包下的:struts2-json-plugin-2.3.15.1.jar
<2>在struts.xml文件中进行配置
1.<package extends="json-default">
2.设置视图<result type="json">
这样设置后,会将valueStack栈顶数据变成json。
对于我们的程序,也就是会将action对象转换成json。
<param name="root">p</param>
如果没有设置,可以理解成将整个action都转换成json的数据。
也就是在action中提供的getXxx方法,就是json中的一个属性。
如果设置了root,那么,只将指定数据转换成json.
3. 怎样设置转换成json的对象中不包含特定的属性?
1. @JSON(serialize=false) 在getXxx方法上设置
2. 还可以通过json插件的interceptor完成
//在这之前要加\进行转义,比较麻烦。在struts.xml配置文件中的action的子标签进行如下配置:
//ps是一个json对象。
<result type="json">
<param name="includeProperties">ps\[\d+\]\.name,ps\[\d+\]\.price,ps\[\d+\]\.count</param>
</result>
本文介绍如何在Struts2框架中利用原始异步提交方法实现AJAX功能,并详细讲解了如何配置和使用Struts2自带的JSON插件来处理数据转换,包括如何排除不需要的属性。
1683

被折叠的 条评论
为什么被折叠?



