1 package com.sslexplorer.ajax; 2 3 import java.io.PrintWriter ; 4 5 import javax.servlet.http.HttpServletRequest ; 6 import javax.servlet.http.HttpServletResponse ; 7 8 import org.apache.commons.logging.Log; 9 import org.apache.commons.logging.LogFactory; 10 import org.apache.struts.action.ActionForm; 11 import org.apache.struts.action.ActionForward; 12 import org.apache.struts.action.ActionMapping; 13 14 import com.sslexplorer.boot.Util; 15 import com.sslexplorer.core.actions.AuthenticatedAction; 16 17 25 26 public abstract class AbstractAjaxHTMLAction extends AuthenticatedAction { 27 28 final static Log log = LogFactory.getLog(AbstractAjaxHTMLAction.class); 29 30 40 protected abstract void onAjaxRequest(ActionMapping mapping, ActionForm form, HttpServletRequest request, 41 HttpServletResponse response, StringBuffer buf) throws Exception ; 42 43 46 protected ActionForward onExecute(ActionMapping mapping, ActionForm form, HttpServletRequest request, 47 HttpServletResponse response) throws Exception { 48 try { 49 StringBuffer buf = new StringBuffer (); 50 onAjaxRequest(mapping, form, request, response, buf); 51 52 response.setContentType("text/html; charset=UTF-8"); 54 Util.noCache(response); 55 PrintWriter pw = response.getWriter(); 56 pw.write(buf.toString()); 57 pw.close(); 58 } 59 catch(Exception e) { 60 log.error("Error processing Ajax request.", e); 61 response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Error processing ajax request. " + e.getMessage()); 62 } 63 return null; 64 } 65 } 66 | Popular Tags |