1
22
23 package com.liferay.taglib.portletext;
24
25 import com.liferay.portal.kernel.servlet.StringServletResponse;
26 import com.liferay.taglib.util.IncludeTag;
27
28 import java.io.IOException;
29
30 import javax.servlet.RequestDispatcher;
31 import javax.servlet.ServletContext;
32 import javax.servlet.ServletException;
33 import javax.servlet.http.HttpServletRequest;
34 import javax.servlet.http.HttpServletResponse;
35 import javax.servlet.jsp.JspException;
36
37
43 public class PreviewTag extends IncludeTag {
44
45 public static void doTag(
46 String portletName, String queryString, String width,
47 ServletContext servletContext, HttpServletRequest request,
48 HttpServletResponse response)
49 throws IOException, ServletException {
50
51 doTag(
52 _PAGE, portletName, queryString, width, servletContext, request,
53 response);
54 }
55
56 public static void doTag(
57 String page, String portletName, String queryString, String width,
58 ServletContext servletContext, HttpServletRequest request,
59 HttpServletResponse response)
60 throws IOException, ServletException {
61
62 request.setAttribute(
63 "liferay-portlet:preview:portletName", portletName);
64 request.setAttribute(
65 "liferay-portlet:preview:queryString", queryString);
66 request.setAttribute("liferay-portlet:preview:width", width);
67
68 RequestDispatcher requestDispatcher =
69 servletContext.getRequestDispatcher(page);
70
71 requestDispatcher.include(request, response);
72 }
73
74 public int doEndTag() throws JspException {
75 try {
76 ServletContext servletContext = getServletContext();
77 HttpServletRequest request = getServletRequest();
78 StringServletResponse response = getServletResponse();
79
80 doTag(
81 getPage(), _portletName, _queryString, _width, servletContext,
82 request, response);
83
84 pageContext.getOut().print(response.getString());
85
86 return EVAL_PAGE;
87 }
88 catch (Exception e) {
89 throw new JspException(e);
90 }
91 }
92
93 public void setPortletName(String portletName) {
94 _portletName = portletName;
95 }
96
97 public void setQueryString(String queryString) {
98 _queryString = queryString;
99 }
100
101 public void setWidth(String width) {
102 _width = width;
103 }
104
105 protected String getDefaultPage() {
106 return _PAGE;
107 }
108
109 private static final String _PAGE = "/html/taglib/portlet/preview/page.jsp";
110
111 private String _portletName;
112 private String _queryString;
113 private String _width;
114
115 }