import java.io.BufferedInputStream; import java.io.IOException; import java.io.InputStream; import java.util.Map; import javax.servlet.ServletConfig; import javax.servlet.ServletContext; import javax.servlet.ServletRequest; import javax.servlet.ServletResponse; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.sf.json.JSON; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import net.sf.json.JSONSerializer; import org.apache.struts2.interceptor.ServletRequestAware; import org.apache.struts2.interceptor.ServletResponseAware; import org.slf4j.Logger; import org.slf4j.LoggerFactory; import org.springframework.web.context.ServletConfigAware; import org.springframework.web.context.ServletContextAware; import com.opensymphony.xwork2.ActionSupport; /** * @author wu0018 * @version 1.0.0 * @since 2012-4-5下午3:12:22 */ public class BaseAction extends ActionSupport implements ServletRequestAware, ServletResponseAware, ServletConfigAware, ServletContextAware { private static final long serialVersionUID = 5105067211451638888L; private final static Logger log = LoggerFactory.getLogger(BaseAction.class); protected ServletRequest request = null; protected ServletResponse response = null; protected ServletContext context = null; protected ServletConfig config = null; protected JSONObject getJSONObject(String content) throws Exception { return JSONObject.fromObject(content); } protected JSONArray getJSONArray(String content) throws Exception { return JSONArray.fromObject(content); } protected String getRequestContent() { StringBuffer buf = new StringBuffer(); InputStream is = null; try { is = new BufferedInputStream(request.getInputStream()); if (null != is) { while (true) { byte[] b = new byte[1024]; if (is.read(b) != -1) { buf.append(new String(b, Constant.encoding)); } else { break; } } } } catch (IOException e) { e.printStackTrace(); } finally { if (null != is) { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } } return buf.toString(); } protected String render(String text, String contentType) { try { response.setContentType(contentType); response.getWriter().write(text); } catch (IOException e) { log.error(e.getMessage(), e); } return null; } protected String renderText(String text) { return render(text, "text/plain;charset=utf-8"); } protected String renderHtml(String html) { return render(html, "text/html;charset=utf-8"); } protected String renderXML(String xml) { return render(xml, "text/xml;charset=utf-8"); } protected String renderJSON(String json) { //return render(StringEscapeUtils.escapeJavaScript(json), "application/json;charset=utf-8"); return render(json, "application/json;charset=utf-8"); } protected String renderJSON(Map<String, Object> jsonMap) { JSON json = JSONSerializer.toJSON(jsonMap); return render(json.toString(), "application/json;charset=utf-8"); } @Override public void setServletResponse(HttpServletResponse response) { this.response = response; } @Override public void setServletRequest(HttpServletRequest request) { this.request = request; } @Override public void setServletContext(ServletContext context) { this.context = context; } @Override public void setServletConfig(ServletConfig config) { this.config = config; } }
简易的BaseActon
猜你喜欢
转载自rimoer.iteye.com/blog/1503718
今日推荐
周排行