Struts2 action通过struts2返回json方法(一)

来源:互联网 发布:键盘控制鼠标软件 编辑:程序博客网 时间:2024/06/05 08:52

源码地址:http://download.csdn.net/detail/biboheart/6024077

在web应用开发中,请求服务器返回json的使用经常用到。今天,特地对action返回json的几种方法进行测试(方法很多)。

这种方法网上文章也比较多:使用struts.xml配置使action返回json。

不多说,直接步骤(struts2其它的配置不在这里描述了,就描述一下关系到返回json相关的代码,源码会在本人csdn下载频道中提供):

一、引入包

关键是struts2-json-plugin-2.3.14.1.jar

二、struts.xml

        <package name="test" namespace="/" extends="json-default"><action name="json" class="org.biboheart.json.action.JsonAction"method="loadJson"><result type="json"><param name="root">jsonStr</param></result></action><action name="jsonFromMap" class="org.biboheart.json.action.JsonAction"method="loadJsonFromMap"><result type="json"><param name="root">dataMap</param></result></action></package>
三、JsonAction.java

public class JsonAction extends ActionSupport{private static final long serialVersionUID = 1L;private Map<String,Object> dataMap;private String jsonStr;public String loadJson(){jsonStr = "{message:\"json\"}";return SUCCESS;}public String loadJsonFromMap(){//dataMap中的数据将会被Struts2转换成JSON字符串,所以这里要先清空其中的数据dataMap = new HashMap<String, Object>();dataMap.put("message", "mapJson");return SUCCESS;}public Map<String,Object> getDataMap() {return dataMap;}public void setDataMap(Map<String,Object> dataMap) {this.dataMap = dataMap;}public String getJsonStr() {return jsonStr;}public void setJsonStr(String jsonStr) {this.jsonStr = jsonStr;}}

四、index.jsp

<%@ page language="java" contentType="text/html; charset=UTF-8"    pageEncoding="UTF-8"%><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html><head><meta http-equiv="Content-Type" content="text/html; charset=UTF-8"><title>Insert title here</title></head><body>strtus2 json插件返回json实例:<br><a href="json">获取普通json</a><br><a href="jsonFromMap">获取Map转json</a></body></html>

两个链接,分别取action中两个方法的返回json。

Struts2 action中提供了getter方法的都会被转成json。

这里所用的返回json的方法,主要都在struts.xml文件配置所得。

后面还会记录下其它取json的方法。

原创粉丝点击