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.ajaxtags.helpers.AjaxXmlBuilder; 9 import org.apache.commons.logging.Log; 10 import org.apache.commons.logging.LogFactory; 11 import org.apache.struts.action.ActionForm; 12 import org.apache.struts.action.ActionForward; 13 import org.apache.struts.action.ActionMapping; 14 15 import com.sslexplorer.boot.Util; 16 import com.sslexplorer.core.actions.AuthenticatedAction; 17 18 26 27 public abstract class AbstractAjaxXMLAction extends AuthenticatedAction { 28 29 final static Log log = LogFactory.getLog(AbstractAjaxXMLAction.class); 30 31 41 protected abstract void onAjaxRequest(ActionMapping mapping, ActionForm form, HttpServletRequest request, 42 HttpServletResponse response, AjaxXmlBuilder builder) throws Exception ; 43 44 47 protected ActionForward onExecute(ActionMapping mapping, ActionForm form, HttpServletRequest request, 48 HttpServletResponse response) throws Exception { 49 AjaxXmlBuilder builder = new AjaxXmlBuilder(); 50 try { 51 onAjaxRequest(mapping, form, request, response, builder); 52 String content = builder.toString(); 53 54 55 response.setContentType("text/xml; charset=UTF-8"); 57 Util.noCache(response); 58 PrintWriter pw = response.getWriter(); 59 pw.write(content); 60 pw.close(); 61 } 62 catch(Exception e) { 63 log.error("Error processing Ajax request.", e); 64 response.sendError(HttpServletResponse.SC_INTERNAL_SERVER_ERROR, "Error processing ajax request. " + e.getMessage()); 65 } 66 return null; 67 } 68 } 69 | Popular Tags |