Struts2 JSON转换案例
使用Struts2的过程中,前端经常是异步请求后端的,这时Struts的的后端就需要把数据以JSON字符串格式返回给前端,以便前端可以显示正常的效果。下面演示如何在Struts2的后端应用把结果转换为JSON?
1 导入Struts2的JSON插件包
2 设计User类,用于封装数据
package com.yiidian.domain;
import java.io.Serializable;
/**
* @author 一点教程(yiidian.com)
*/
public class User implements Serializable{
private String name;
private String password;
private String email;
private String phone;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getPassword() {
return password;
}
public void setPassword(String password) {
this.password = password;
}
public String getEmail() {
return email;
}
public void setEmail(String email) {
this.email = email;
}
public String getPhone() {
return phone;
}
public void setPhone(String phone) {
this.phone = phone;
}
}
3 编写Action类,返回数据
package com.yiidian.action;
import java.util.ArrayList;
import java.util.List;
import com.opensymphony.xwork2.ActionSupport;
import com.yiidian.domain.User;
/**
* Struts2转换后台数据为Json字符串
* @author 一点教程(yiidian.com)
*/
public class Demo1Action extends ActionSupport{
//这个userList需要转换为Json字符串格式输出到浏览器
private List userList;
public List getUserList() {
return userList;
}
public void setUserList(List userList) {
this.userList = userList;
}
@Override
public String execute() throws Exception {
userList = new ArrayList();
for(int i = 1;i<=5;i++){
User user = new User();
user.setName("小明"+i);
user.setPassword("123");
user.setEmail("xiaoming"+i+"@yiidian.com");
user.setPhone("13211112222");
userList.add(user);
}
return SUCCESS;
}
}
4 struts.xml继承json-default
/p>
"-//Apache Software Foundation//DTD Struts Configuration 2.5//EN"
"http://struts.apache.org/dtds/struts-2.5.dtd">
userList
5 配置web.xml
ch04_07_struts2_json
struts2
org.apache.struts2.dispatcher.filter.StrutsPrepareAndExecuteFilter
struts2
/*
6 访问测试
效果如下: