| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- package xin.glue.ui.common.blob;
- import java.io.BufferedInputStream;
- import java.io.InputStream;
- import java.io.OutputStream;
- import java.util.zip.GZIPInputStream;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import javax.servlet.jsp.JspWriter;
- import javax.servlet.jsp.PageContext;
- import com.posdata.glue.biz.constants.PosBizControlConstants;
- import com.posdata.glue.biz.control.PosBizProvider;
- import com.posdata.glue.context.PosContext;
- import com.posdata.glue.dao.vo.PosRow;
- import com.posdata.glue.dao.vo.PosRowSet;
- import com.posdata.glue.web.control.PosWebConstants;
- public class PosExcelManager extends PosBolbManager {
- public PosExcelManager(HttpServletRequest request,
- HttpServletResponse response, JspWriter out, PageContext pageContext) {
- super(request, response, out, pageContext);
- }
- protected void setContext(OutputStream os) throws Exception {
- PosContext context = new PosContext();
- request.setAttribute(PosWebConstants.CONTEXT, context);
- context.put(PosBizControlConstants.SERVICE_NAME, "Excel-Template-service");
- context.put("TMPL_NM", request.getParameter("template"));
- PosBizProvider.getController().doAction(context);
- PosRowSet rowSet = (PosRowSet)context.get("ListResult_0");
- if (rowSet == null || !rowSet.hasNext()) return;
- PosRow row = rowSet.next();
- InputStream in = (InputStream)row.getAttribute("TMPL_CONTENT");
- if (in == null) return;
- String clsName = (String)row.getAttribute("JAVA_CLASS");
- if (clsName == null) return;
- PosExcelInterface excelInferface = (PosExcelInterface)Class.forName(clsName).newInstance();
- excelInferface.setData(dataList, new BufferedInputStream(new GZIPInputStream(in)), os,
- Integer.parseInt(row.getAttribute("DATA_ROW").toString()),
- Integer.parseInt(row.getAttribute("PAGE_SIZE").toString()));
- excelInferface = null;
- dataList.clear();
- in.close();
- }
- }
|