package com.nfwork.dbfound.web;
import java.io.IOException;
import java.io.StringReader;
import java.io.Writer;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletResponse;
import com.nfwork.dbfound.core.Context;
import com.nfwork.dbfound.excel.ExcelWriter;
import com.nfwork.dbfound.util.LogUtil;
public class WebWriter {
private static String encoding = "utf-8";// 字符编码,可以从web.xml中设置
@SuppressWarnings("unchecked")
public static void excelWriter(Context context, List<Map> result) {
try {
ExcelWriter.excelExport(context, result);
} catch (Exception e) {
LogUtil.warn("response Excel writer exception:" + e.getMessage());
}
}
public static void jsonWriter(HttpServletResponse response, String message) {
StringReader reader = new StringReader(message);
Writer writer = null;
try {
response.setContentType("text/html;charset=" + encoding);
response.setHeader("Cache-Control", "no-cache, must-revalidate");
writer = response.getWriter();
char b[] = new char[1000];
int i = reader.read(b);
while (i != -1) {
writer.write(b, 0, i);
i = reader.read(b);
}
} catch (Exception e) {
LogUtil.warn("response writer exception:" + e.getMessage());
} finally {
if (writer != null) {
if (reader != null) {
reader.close();
}
try {
writer.flush();
writer.close();
} catch (IOException e) {
LogUtil.error(e.getMessage(), e);
}
}
}
}
public static String getEncoding() {
return encoding;
}
public static void setEncoding(String encoding) {
WebWriter.encoding = encoding;
}
}