1
22
23 package com.liferay.portal.struts;
24
25 import com.liferay.portal.kernel.servlet.HttpHeaders;
26 import com.liferay.portal.kernel.util.ContentTypes;
27 import com.liferay.portal.util.PortalUtil;
28
29 import java.io.PrintWriter;
30
31 import javax.servlet.http.HttpServletRequest;
32 import javax.servlet.http.HttpServletResponse;
33
34 import org.apache.struts.action.Action;
35 import org.apache.struts.action.ActionForm;
36 import org.apache.struts.action.ActionForward;
37 import org.apache.struts.action.ActionMapping;
38
39
44 public abstract class AJAXAction extends Action {
45
46 public ActionForward execute(
47 ActionMapping mapping, ActionForm form, HttpServletRequest request,
48 HttpServletResponse response)
49 throws Exception {
50
51 String text = null;
52
53 try {
54 text = getText(mapping, form, request, response);
55 }
56 catch (Exception e) {
57 PortalUtil.sendError(
58 HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e, request,
59 response);
60
61 return null;
62 }
63
64 response.setContentType(ContentTypes.TEXT_PLAIN_UTF8);
65 response.setHeader(HttpHeaders.CACHE_CONTROL, "no-cache");
66
67 PrintWriter pw = response.getWriter();
68
69 pw.write(text);
70
71 pw.close();
72
73 return null;
74 }
75
76 public abstract String getText(
77 ActionMapping mapping, ActionForm form, HttpServletRequest request,
78 HttpServletResponse response)
79 throws Exception;
80
81 }