/* ================================================================== * Created [2009-4-27 下午11:32:55] by Jon.King * ================================================================== * TSS * ================================================================== * mailTo:jinpujun@hotmail.com * Copyright (c) Jon.King, 2009-2012 * ================================================================== */ package com.jinhe.tss.component.support.web.webwork; import java.io.IOException; import javax.servlet.http.HttpServletResponse; import org.apache.log4j.Logger; import com.jinhe.tss.core.exception.BusinessException; import com.jinhe.tss.core.sso.context.Context; import com.jinhe.tss.core.web.dispaly.XmlPrintWriter; import com.opensymphony.xwork.Action; import com.opensymphony.xwork.ActionSupport; /** * <p> BaseActionSupport.java </p> * * 所有的XWork Action必须继承此Action,以统一的方式输出响应内容。 */ public abstract class BaseActionSupport extends ActionSupport { protected Logger log = Logger.getLogger(this.getClass()); /** 请求返回纯xml数据的返回页面 */ public static final String XML = Action.NONE; private XmlPrintWriter writer; /** * 数据流方式向客户端返回数据 * * @param xml * @throws IOException */ protected void print(Object xml) { // log.debug("\n" + xml); getWriter().append(xml); } /** * 获取输出流 * * @return * @throws IOException */ protected XmlPrintWriter getWriter() { if (writer == null) { /* 初始化数据输出流 */ HttpServletResponse response = Context.getResponse(); response.setContentType("text/html;charset=GBK"); try { writer = new XmlPrintWriter(response.getWriter()); } catch (Exception e) { throw new BusinessException("初始化数据输出流失败", e); } } return writer; } }