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