/* ==================================================================
* 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;
}
}