You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
100 lines
3.1 KiB
100 lines
3.1 KiB
package util;
|
|
|
|
import java.io.IOException;
|
|
import java.io.Writer;
|
|
import java.util.List;
|
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
import org.apache.struts2.ServletActionContext;
|
|
|
|
import com.alibaba.fastjson.JSON;
|
|
import com.alibaba.fastjson.serializer.SerializerFeature;
|
|
import com.alibaba.fastjson.serializer.ValueFilter;
|
|
import com.opensymphony.xwork2.ActionSupport;
|
|
|
|
/**
|
|
* 将数据转成json数据格式
|
|
*
|
|
*/
|
|
public class AddJson extends ActionSupport{
|
|
|
|
private static final long serialVersionUID = 1L;
|
|
|
|
private static ValueFilter filter = new ValueFilter() {
|
|
@Override
|
|
public Object process(Object obj, String s, Object v) {
|
|
if (v == null)
|
|
return "";
|
|
return v;
|
|
}
|
|
};
|
|
/**
|
|
* 将JavaBean序列化为JSON文本
|
|
* @param str
|
|
* @throws IOException
|
|
*/
|
|
public void toJson(Object str) throws IOException{
|
|
HttpServletResponse response=ServletActionContext.getResponse();
|
|
response.setHeader("Cache-Control", "no-cache");
|
|
response.setHeader("Pragma", "no-cache");
|
|
response.setDateHeader("Expires", 0);
|
|
response.setContentType("text/html;charset=utf-8");
|
|
|
|
String responseStr = JSON.toJSONString(str,filter,SerializerFeature.WriteNullStringAsEmpty);
|
|
Writer writer = response.getWriter();
|
|
writer.write(responseStr);
|
|
writer.flush();
|
|
}
|
|
/**
|
|
* 将JavaBean转换为JSONObject
|
|
* @param str
|
|
* @throws IOException
|
|
*/
|
|
public void toJsonObj(Object str) throws IOException{
|
|
HttpServletResponse response=ServletActionContext.getResponse();
|
|
response.setHeader("Cache-Control", "no-cache");
|
|
response.setHeader("Pragma", "no-cache");
|
|
response.setDateHeader("Expires", 0);
|
|
response.setContentType("text/html;charset=utf-8");
|
|
|
|
Object responseStr = JSON.toJSON(str);
|
|
Writer writer = response.getWriter();
|
|
writer.write(responseStr.toString());
|
|
writer.flush();
|
|
}
|
|
/**
|
|
* 将JavaBean转换为JSONArray
|
|
* @param list
|
|
* @throws IOException
|
|
*/
|
|
public <T> void toJsonArray(List<T> list) throws IOException{
|
|
HttpServletResponse response=ServletActionContext.getResponse();
|
|
response.setHeader("Cache-Control", "no-cache");
|
|
response.setHeader("Pragma", "no-cache");
|
|
response.setDateHeader("Expires", 0);
|
|
response.setContentType("text/html;charset=utf-8");
|
|
|
|
Object obj = JSON.toJSON(list);
|
|
Writer writer = response.getWriter();
|
|
writer.write("{\"length\":"+list.size()+" ,");
|
|
writer.write("\"data\":"+obj.toString()+"}");
|
|
writer.flush();
|
|
}
|
|
|
|
public <T> void toJsonList(int len,List<T> list) throws IOException{
|
|
HttpServletResponse response=ServletActionContext.getResponse();
|
|
response.setHeader("Cache-Control", "no-cache");
|
|
response.setHeader("Pragma", "no-cache");
|
|
response.setDateHeader("Expires", 0);
|
|
response.setContentType("text/html;charset=utf-8");
|
|
|
|
String responseStr = JSON.toJSONString(list,filter);
|
|
Writer writer = response.getWriter();
|
|
//writer.write(responseStr);
|
|
writer.write("{\"length\":"+len+" ,");
|
|
writer.write("\"data\":"+responseStr+"}");
|
|
writer.flush();
|
|
}
|
|
}
|