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特点: 随着类的加载而加载: 优先于对象存在: 被所有的对象共享,节省空间,但 ...
随机推荐
- IT的发展路径
1.掌握更多的技能 2.掌握某一门深入的技能 3.掌握更多的工具 4.掌握业务
- oracle_执行计划_谓词信息和数据获取(access and filter区别) (转)
These two terms in the Predicate Information section indicate when the data source is reduced. Simpl ...
- -_-#【Canvas】FPS
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...
- Linux环境下使用图形化界面的SVN客户端软件-RabbitVCS
如果想在Linux环境下使用图形化界面的SVN客户端软件,那么RabbitVCS绝对是首选,可以媲美Windows环境下用的TortoiseSVN,甚至连操作都基本一样,所以强烈推荐给各位童鞋. Ra ...
- 常用sql语句及案例(oracle)
目录 1)基本 2)数学函数 3)rownum 4)分页 5)时间处理 6)字符函数 7)to_number 8)聚合函数 9)学生选课 10)图书馆借阅 基本 --新建表: ) ) not null ...
- Exception in thread "main" com.sun.xml.internal.ws.streaming.XMLStreamReaderException: unexpected XML tag.
webservice 抛异常,原因: public class HeaderHandler implements SOAPHandler<SOAPMessageContext>{ @Ove ...
- SQL中Merge的用法
SQL中Merge的用法 Merge的用法 Merge可以完成以下功能: 1. 两个表之间数据的更新 2. 进行进销存更新库存 3. 进行表之间数据的复制 语法说明: 1. 在语句结束后一定要 ...
- JS验证手机号码
对于表单的验证是添加信息的时候必不可少的. 下面是基于EasyUI-validatebox拓展的对手机.座机号的验证方法. PhoneAndMobile: { validator: function ...
- Java中Timer的用法--转载之网络
用法很简单,new一个timer,然后写一个timertask的子类即可. import java.util.Timer; import java.util.TimerTask; public cla ...
- cocos2d-x 3.6版连连看载入资源
网上找了一个梦幻连连看的资源.大家能够百度一下.然后整理一下加到project里面去.包含声音和图片文件.后面解释怎样整理能够方便管理. 我不推荐在代码里面直接引用资源文件名称,我称之为硬编码. 做i ...