001
014
015 package com.liferay.portal.struts;
016
017 import com.liferay.portal.kernel.servlet.HttpHeaders;
018 import com.liferay.portal.kernel.util.ContentTypes;
019 import com.liferay.portal.util.PortalUtil;
020
021 import java.io.PrintWriter;
022
023 import javax.servlet.http.HttpServletRequest;
024 import javax.servlet.http.HttpServletResponse;
025
026 import org.apache.struts.action.Action;
027 import org.apache.struts.action.ActionForm;
028 import org.apache.struts.action.ActionForward;
029 import org.apache.struts.action.ActionMapping;
030
031
034 public abstract class AJAXAction extends Action {
035
036 public ActionForward execute(
037 ActionMapping mapping, ActionForm form, HttpServletRequest request,
038 HttpServletResponse response)
039 throws Exception {
040
041 String text = null;
042
043 try {
044 text = getText(mapping, form, request, response);
045 }
046 catch (Exception e) {
047 PortalUtil.sendError(
048 HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e, request,
049 response);
050
051 return null;
052 }
053
054 response.setContentType(ContentTypes.TEXT_PLAIN_UTF8);
055 response.setHeader(HttpHeaders.CACHE_CONTROL, "no-cache");
056
057 PrintWriter pw = response.getWriter();
058
059 pw.write(text);
060
061 pw.close();
062
063 return null;
064 }
065
066 public abstract String getText(
067 ActionMapping mapping, ActionForm form, HttpServletRequest request,
068 HttpServletResponse response)
069 throws Exception;
070
071 }