ajax是我们开发过程中常常用到,那么当ajax碰到struts2又会发生什么样的事情呢?通常笔者在使用ajax过程时更多是从服务端返回json格式的数据。下面就说说如何通过struts2来返回json数据。
首先来看一下我的struts2配置文件中action的配置
<package name="account" extends="struts-default" namespace="/account"> <action name="add" method="addAccount" class="org.lian.account.actions.AccountAction" > <result type="stream"> <param name="contentType">text/html</param> <param name="inputName">inputStream</param> </result> </action> </package>
接下来是Action,Java类设计
public class AccountAction extends ActionSupport { private InputStream inputStream; public InputStream getInputStream() { return inputStream; } public String addAccount() throws IOException { Map<String, String> map = new HashMap<String, String>(); map.put("flag", "添加成功"); String result = GsonUtil.getInstance().convertToJson(map); inputStream = new ByteArrayInputStream(result.getBytes("UTF-8")); return SUCCESS; } }
Java对象和json字符串相互转换,使用google的gson工具包,使用的版本是2.8.0,下面是我工具类的代码
import com.google.gson.Gson; public class GsonUtil { private static GsonUtil util; private GsonUtil() { } public static GsonUtil getInstance() { if (util == null) util = new GsonUtil(); return util; } /** * * @description TODO * @param obj * @return * @return String */ public String convertToJson(Object obj) { Gson gson = new Gson(); return gson.toJson(obj); } /** * * @description TODO * @param json * @param type * @return * @return T */ public <T> T parseJson(String json, Class<T> type) { Gson gson = new Gson(); return gson.fromJson(json, type); } }
笔者已经将gson工具包上传了,如需要可以自行下载。
相关推荐
struts-ajax-json-struts开发需要的jar包。
Struts 2.1-AJAX-JSON实例,包含了json的jar包和需要的js文件,该项目经自己测试是可以的。
Struts2 与Jquery Ajax的json数据交换的典型范例
ajax结合Struts2要用到的jar包
Struts2+ajax+json返回list,并处理json返回为[object,object]的方法,Struts2配置
介绍struts、ajax如何返回json数据 一首先引入Struts和json所需的jar包。 二编写页面 三编写action类 四Struts配置
Struts+Jquery+Ajax+Json应用实例,前端引入jquery,后台使用struts框架。前端js调用后台action,并将后台返回的json数据进行解析,设置web页面
利用AJAX传递JSON数组,后台struts2的action接收。 详细代码简单易懂。
json2+jsonplugin struts2整合ajax时,使用json时需要的jar包。。。。。。。。。。。。
在原来的项目中集成juery的ajax功能,返回json串,结果报了一大堆版本冲突以及jar包缺失的问题,在网上查了老半天资料终于成功了,附传资源包以及我做的小例子大家共享下,注意版本一定要对应上。另外在ajax等待页面...
该资源是使用struts2框架进行操作,返回json格式数据,前台通过ajax提交内容。
Struts2 Jquery ajax Json实现的一个完整案例
这是我目前发现的最高版本2012年08月06日
包名自定义 " extends="json-default(一定要的)" namespace=""> (action名)" class="cla.BookMessage(处理ajax的action类"> <result name="success" type="json(类型一定要的)" /> </struts> 3. 创建处理...
ajax struts 无刷新访问后台返回json数据,返回list、map,java类对象等json数据,前台js解析json数据,内有jar包,代码类。是一个完整的项目实例。
关键代码都在里面 资源是工程中的一部分 暂不能运行 原来用的是Java实现Json串 考虑到频繁访问数据库 就改成了存储过程
struts2使用jquery整合ajax、json用户登录实例源码
后端使用struts2框架,前端使用ajax两者相互交互,传递json格式数据
struts2+ajax+json四级联动struts2+ajax+json四级联动
struts2-core-2.xx 升级为struts2-core-2.3.15.1.jar后 jsonplugin-0.32.jar需要升级为 struts2-core-2.3.15.1.jar,不然在使用ajax时候报错 java.lang.NullPointerException at org.apache.jsp.web.error_jsp._jsp...