该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
编写BaseAction 其他action继承BaseAction 不用继承ActionSupport
package com.base.jackson;
import java.io.StringWriter;
import javax.servlet.http.HttpSession;
import org.apache.struts2.ServletActionContext;
import org.codehaus.jackson.JsonFactory;
import org.codehaus.jackson.JsonGenerator;
import org.codehaus.jackson.map.ObjectMapper;
import org.springframework.beans.factory.annotation.Autowired;
import com.opensymphony.xwork2.ActionSupport;
/**
* 封装JSON格式函数,将对象转化为Json输出
* jackson-annotations-2.1.4.jar
* jackson-core-2.1.4.jar
* jackson-core-asl-1.9.2.jar
* jackson-mapper-asl-1.9.13.jar
* json-lib-2.2.3-jdk15.jar
* struts2-json-plugin-2.3.16.jar
*/
@SuppressWarnings("serial")
public class BaseAction extends ActionSupport{
public static void writeJson(Object o){
String json = getJsonString(o);
try {
// 输出到客户端相关的cache,字符集设置
ServletActionContext.getResponse().setContentType("text/html;charset=utf-8");
ServletActionContext.getResponse().setCharacterEncoding("utf-8");
ServletActionContext.getResponse().setHeader("Charset", "utf-8");
ServletActionContext.getResponse().setHeader("Cache-Control","no-cache");
ServletActionContext.getResponse().getWriter().write(json);
ServletActionContext.getResponse().getWriter().flush();
//关闭
ServletActionContext.getResponse().getWriter().close();
} catch (Exception e) {
}
}
/**
* @Description: 获取json字符串
*/
public static String getJsonString(Object o) {
ObjectMapper om = new ObjectMapper();
StringWriter sw = new StringWriter();
try {
JsonGenerator jg = new JsonFactory().createJsonGenerator(sw);
om.writeValue(jg, o);
jg.close();
} catch (Exception e) {
}
return sw.toString();
}
}
***********************************************************************
直接使用
writeJson(menus);