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
45 public abstract class AJAXAction extends Action {
46
47 public ActionForward execute(
48 ActionMapping mapping, ActionForm form, HttpServletRequest request,
49 HttpServletResponse response)
50 throws Exception {
51
52 String text = null;
53
54 try {
55 text = getText(mapping, form, request, response);
56 }
57 catch (Exception e) {
58 PortalUtil.sendError(
59 HttpServletResponse.SC_INTERNAL_SERVER_ERROR, e, request,
60 response);
61
62 return null;
63 }
64
65 response.setContentType(ContentTypes.TEXT_PLAIN_UTF8);
66 response.setHeader(HttpHeaders.CACHE_CONTROL, "no-cache");
67
68 PrintWriter pw = response.getWriter();
69
70 pw.write(text);
71
72 pw.close();
73
74 return null;
75 }
76
77 public abstract String getText(
78 ActionMapping mapping, ActionForm form, HttpServletRequest request,
79 HttpServletResponse response)
80 throws Exception;
81
82 }