java学习笔记(13) —— google GSON 实现json转化方法
1、配置struts.xml
<action name="getGsonAction" class="com.test.action.json.GetGsonAction">
</action>
2、添加js方法
getJson = function(){
$.post("getGsonAction.action",{name:$('#name').val()},function(ret,status){
if("success" == status){
}
});
}
3、添加jsp页面
<html>
<head>
<script type="text/javascript" src="js/jquery-1.8.2.js"></script>
<script type="text/javascript" src="scripts/common.js"></script>
</head> <body id="xmlbody">
<select id="name">
<option value="james" selected="selected">james</option>
<option value="currey">currey</option>
</select>
<input type="button" value="getInfo" onclick="getJson();"/>
</body>
</html>
4、bean文件
public class Address
{
private String homeAddress;
private String companyAddress; public String getHomeAddress() {
return homeAddress;
}
public void setHomeAddress(String homeAddress) {
this.homeAddress = homeAddress;
}
public String getCompanyAddress() {
return companyAddress;
}
public void setCompanyAddress(String companyAddress) {
this.companyAddress = companyAddress;
}
} package com.test.action.json; import java.util.List; //9分钟
public class People
{
private int id; private String name; private Address address; private List<People> friends; public int getId() {
return id;
} public void setId(int id) {
this.id = id;
} public String getName() {
return name;
} public void setName(String name) {
this.name = name;
} public Address getAddress() {
return address;
} public void setAddress(Address address) {
this.address = address;
} public List<People> getFriends() {
return friends;
} public void setFriends(List<People> friends) {
this.friends = friends;
}
}
5、添加action类
public class GetGsonAction extends ActionSupport {
private static final long serialVersionUID = 5409431608941107203L;
public String execute() throws Exception {
List<People> list = new ArrayList<People>();
//第一个人的信息
Address address1 = new Address();
address1.setCompanyAddress("shanghai");
address1.setHomeAddress("beijing");
People people1 = new People();
people1.setId(1);
people1.setName("james");
people1.setAddress(address1);
People friend1 = new People();
people1.setId(4);
people1.setName("smith");
People friend2 = new People();
friend2.setId(5);
friend2.setName("owen");
List<People> list1 = new ArrayList<People>();
list1.add(friend1);
list1.add(friend2);
people1.setFriends(list1);
//第二个人的信息
People people2 = new People();
Address address2 = new Address();
address2.setCompanyAddress("tianjin");
address2.setHomeAddress("tanggu");
people2.setId(2);
people2.setName("currey");
people2.setAddress(address2);
List<People> list2 = new ArrayList<People>();
People friend3 = new People();
friend3.setId(7);
friend3.setName("igdala");
list2.add(friend3);
People friend4 = new People();
friend4.setId(8);
friend4.setName("toms");
list2.add(friend4);
people2.setFriends(list2);
list.add(people1);
list.add(people2);
Gson gson = new Gson();
String result = gson.toJson(list);
HttpServletResponse response = ServletActionContext.getResponse();
response.setContentType("text/json; charset=utf-8");
response.setHeader("Cache-Control", "no-cache");//取消浏览器缓存
PrintWriter writer = response.getWriter();
writer.write(result);
writer.flush();
writer.close();
System.out.println(result);
return null;
}
}
java学习笔记(13) —— google GSON 实现json转化方法的更多相关文章
- 疯狂java学习笔记之面向对象(六) - 构造器重载、方法重载和方法重写
一.方法重载(Overload): Java允许同一个类中定义多个同名方法,只要形参不一样就可以,如果同一个类中包含了两个或两个以上方法名相同的方法,但形参列表不同,则被成为方法重载(两同一异). 同 ...
- java学习笔记(12) —— Struts2 通过 xml /json 实现简单的业务处理
XML 1.引入dom4j-2.0.0.jar 2.引入jquery-1.8.2.js 3.新建common.js getInfo = function(){ $.post("getXmlA ...
- Java学习笔记-13.创建窗口和程序片
1.init()方法:程序片第一次被创建,初次运行初始化程序片时调用. start()方法:每当程序片进入web浏览器中,并且允许程序片启动他的常规操作时调用(特殊的程序片被stop()关闭):同样在 ...
- Java学习笔记13(面向对象六:super)
在创建子类对象时,父类的构造方法会先执行,因为子类中所有构造方法的第一行有默认的隐式super();语句 注意:父类构造方法第一行也有隐式的super(); 所有类都有一个"祖宗类" ...
- Java学习笔记13(equals()方法;toString()方法)
equals()方法: equals方法是Object类中的方法:Object是所有类的祖宗,所以所有类都有equals()方法: boolean equals(Object obj); equals ...
- Java学习笔记(七)——获取类中方法的信息,java的LinkedList
[前面的话] 在实际项目中学习知识总是最快和最有效的,既能够较好的掌握知识,又能够做出点东西,还是简单的知识总结,最近一直在总结笔记,写的东西还是比较水,希望慢慢可以写出一些干货. 学习过程中的小知识 ...
- 疯狂java学习笔记之面向对象(一) - 定义类、方法、构造器
Java面向对象 1.定义类 2.创建对象.调用方法 类和对象: 某一类对象的概念定义. 比如:人类 - 抽象出来的概念(不特指某个人) 对象 - 在类的概念下产生的一个实例,它就是一个对象了. ja ...
- Effective Java 学习笔记之所有对象都通用的方法
一.覆盖equals时请遵守通用约定 1.满足下列任何一个条件时,不需要覆盖equals方法 a.类的每个实例本质上都是唯一的.此时就是Object中equals方法所表达的含义. b.不关心类是否提 ...
- Java学习笔记——static关键字与静态的使用方法
static:可以修饰成员变量和成员方法. 当变量被static修饰后,则其可以直接被类名调用.类名.成员. static特点: 随着类的加载而加载: 优先于对象存在: 被所有的对象共享,节省空间,但 ...
随机推荐
- NTOPNG修改密码
感觉这个有点妖,因为在两个实例上修改密码都失败了. 于是,从网上看看是怎么回事, 按以下步骤重置你想要的密码: 1,为密码生成MD5字串: echo -n "your_password&qu ...
- jquery序列化form表单使用ajax提交后处理返回的json数据
1.返回json字符串: /** 将一个字符串输出到浏览器 */ protected void writeJson(String json) { PrintWriter pw = null; try ...
- 如何在一台机器上安装两个MYSQL数据库
1.正常安装第一个mysql(安装步骤省略) 2.在控制面板里停止第一个mysql服务 3.将C:\Program Files\MySQL目录下的所有目录和文件copy到另外一个路径,我这里是copy ...
- 【HDOJ】2416 Treasure of the Chimp Island
bfs().题目的数据乱码.应该如下: *****#********* *.......$...* *..***.......* *....*****..* *....******37A *****. ...
- COJ 0503 比赛
比赛 难度级别:D: 运行时间限制:2000ms: 运行空间限制:51200KB: 代码长度限制:2000000B 试题描述 初三年级举办了一场篮球赛,共有N个班级参加.当WZJ知道了这件事情, 已经 ...
- 【转】linux 原子整数操作详解
原文网址:http://blog.csdn.net/hunanchenxingyu/article/details/8994379 printk(“%d\n”,atomic_read(&v)) ...
- T-SQL中return 返回语句学习
return命令用于结束当前程序的执行,返回到上一个调用它的程序或其他程序,其语法格式如下: return 整数值或变量 return语句要指定返回值,如果没有指定返回值,SQL Server系统 ...
- 「Githug」Git 游戏通关流程
Githug 他喵的这是个啥!?难道不是 GitHub 拼错了么,和 Git 什么关系? 和游戏又有什么关系? 其实,他的元身在这里:https://github.com/Gazler/githug ...
- spring中@value注解需要注意
首先,@value需要参数,这里参数可以是两种形式:@Value("#{configProperties['t1.msgname']}")或者@Value("${t1.m ...
- python爬虫__第一个爬虫程序
前言 机缘巧合,最近在学习机器学习实战, 本来要用python来做实验和开发环境 得到一个需求,要爬取大众点评中的一些商户信息, 于是开启了我的第一个爬虫的编写,里面有好多心酸,主要是第一次. 我的文 ...