struts2中如何将json格式的数据传到前端呢??json-default就是你要找的答案
2016-08-02 17:02
295 查看
上班的时候遇到了这类问题,百思不得其解,但最后还是被我征服了,拿来与大家分享:
哎哟,不错哦!
搞懂下面的代码就够了
struts.xml核心文件中的写法为:
<package name="default" namespace="/" extends="json-default">
<action name="myTest" class="cn.com.gjw.MyTest" method="test">
<result type="json">
<param name="root">str</param><!-- 注意str,它是干什么的呢? -->
</result>
</action>
</package>
action(即MyTest类)中的写法为:
package cn.com.gjw;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSONObject;
public class MyTest {
private String str; //str是不是在哪里出现过呢??对,就是struts.xml中
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
public String test() {
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
Map<String, String> map = new HashMap<String, String>();
map.put("name","人事部");
map.put("weight","100");
list.add(map);
map = new HashMap<String, String>();
map.put("name","策划部");
map.put("weight","50");
list.add(map);
map = new HashMap<String, String>();
map.put("name","外联部");
map.put("weight","80");
list.add(map);
map = new HashMap<String, String>();
map.put("name","主席团");
map.put("weight","120");
list.add(map);
map = new HashMap<String, String>();
map.put("name","组织部");
map.put("weight","200");
list.add(map);
map = new HashMap<String, String>();
map.put("name","宣传部");
map.put("weight","100");
list.add(map);
str = JSONObject.toJSON(list).toString();
return "success";
}
}
前端页面使用jquery的ajax方法接收数据,其中data就是从后台传过来的json格式的字符串,注意:data不用提前定义。代码为:
$.ajax({
url:"myTest.action",
type:"get",
dataType:"json",
error:function(e) {
alert("失败");
},
success:function(data) {
//alert("成功:"+data);
//将json格式的字符串转为原来的格式
var json = $.parseJSON(data);
var name = new Array();
var weight = new Array();
for(var i = 0; i < json.length; i++) {
name.push(json[i].name);
weight.push(json[i].weight);
}
test(name, weight);//下面定义一个test()方法就可以使用这两个数组了。
}
});
哎哟,不错哦!
搞懂下面的代码就够了
struts.xml核心文件中的写法为:
<package name="default" namespace="/" extends="json-default">
<action name="myTest" class="cn.com.gjw.MyTest" method="test">
<result type="json">
<param name="root">str</param><!-- 注意str,它是干什么的呢? -->
</result>
</action>
</package>
action(即MyTest类)中的写法为:
package cn.com.gjw;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import com.alibaba.fastjson.JSONObject;
public class MyTest {
private String str; //str是不是在哪里出现过呢??对,就是struts.xml中
public String getStr() {
return str;
}
public void setStr(String str) {
this.str = str;
}
public String test() {
List<Map<String, String>> list = new ArrayList<Map<String, String>>();
Map<String, String> map = new HashMap<String, String>();
map.put("name","人事部");
map.put("weight","100");
list.add(map);
map = new HashMap<String, String>();
map.put("name","策划部");
map.put("weight","50");
list.add(map);
map = new HashMap<String, String>();
map.put("name","外联部");
map.put("weight","80");
list.add(map);
map = new HashMap<String, String>();
map.put("name","主席团");
map.put("weight","120");
list.add(map);
map = new HashMap<String, String>();
map.put("name","组织部");
map.put("weight","200");
list.add(map);
map = new HashMap<String, String>();
map.put("name","宣传部");
map.put("weight","100");
list.add(map);
str = JSONObject.toJSON(list).toString();
return "success";
}
}
前端页面使用jquery的ajax方法接收数据,其中data就是从后台传过来的json格式的字符串,注意:data不用提前定义。代码为:
$.ajax({
url:"myTest.action",
type:"get",
dataType:"json",
error:function(e) {
alert("失败");
},
success:function(data) {
//alert("成功:"+data);
//将json格式的字符串转为原来的格式
var json = $.parseJSON(data);
var name = new Array();
var weight = new Array();
for(var i = 0; i < json.length; i++) {
name.push(json[i].name);
weight.push(json[i].weight);
}
test(name, weight);//下面定义一个test()方法就可以使用这两个数组了。
}
});
相关文章推荐
- 如何在servlet中将数据封装成JSON格式之后传到前台
- struts2 + ajax(从后台获取json格式的数据返回到前端,然后前端用jquery对json数据进行解析)
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及文件上传的部分
- struts2 + ajax(由前台的form提交数据到后台,再根据form所调用返回获取的后台json格式的数据返回到前端,然后前端用jquery对json数据进行解析)==》》涉及非文件上传的部分
- SSH:Struts2的Action如何返回JSON格式的数据?
- tricks: 如何把sqlalchemy的数据转化为json格式
- 如何构建JSON数据,JSON数据的格式,JSON数据的获取
- 如何将一个List<Map<String,String>>类型的集合数据转换成json格式输出
- 在Struts2中如何将父类属性序列化为JSON格式的解决方法
- 如何POST一个JSON格式的数据给Restful服务
- 如何通过Java的Web服务器把DataSet或DataTable数据通过json格式传回给C#的客户端
- struts2 配置json格式数据( includeProperties中对list集合的正则配置)
- 如何将json数据转换为常见的数据格式
- 如何指定struts2返回我们需要的json类型数据?
- struts2如何取得数据库中的数据并且传到页面
- Java里如何应用Json格式数据
- Struts2与ExtJs Grid结合使用json格式数据
- 毕设问题小记——Struts2如何将父类属性序列化为JSON格式
- 如何在Django中接收JSON格式的数据
- winfrom如何通过http来进行通信,并且通过传递json格式的数据可接受json格式的数据