第一种:直接输出使用gson格式化
1、导入gson.jar
2、
//例如:json格式输出分页list
public void list() {
PageBean<User> pageBean = userService.getUserByPage(user, page, rows);
Gson gson = new Gson();
try {
//System.out.println(gson.toJson(pageBean));
Utils.sendMsg(gson.toJson(pageBean));
} catch (IOException e) {
e.printStackTrace();
}
}
public class Utils {
public static void sendMsg(String content) throws IOException{
HttpServletResponse response = ServletActionContext.getResponse();
response.setCharacterEncoding("UTF-8");
PrintWriter out = response.getWriter();
out.println(content);
out.flush();
out.close();
}
}
第二种:struts2对json支持
1、导入struts2-json-plugin-2.3.32.jar,每个版本jar包不一。
2、
//action中
private Map<String,Object> jsonMap;
//更新方法
public String update(){
//清空jsonMap中的数据
jsonMap.clear();
//更新user
userService.updateUser(user);
//设置json输出数据
jsonMap.put("success", true);
//必须返回SUCCESS
return SUCCESS;
}
//必须设置get方法
public Map<String, Object> getJsonMap() {
return jsonMap;
}
<package name="user" namespace="/user" extends="json-default">
<action name="user_*" class="userAction" method="{1}">
<result type="json">
<param name="root">jsonMap</param> <!-- 这里的jsonMap对应action里要返回的map对象 -->
</result>
</action>
</package>