1
22
23 package com.liferay.taglib.util;
24
25 import com.liferay.portal.model.Theme;
26 import com.liferay.portal.util.WebKeys;
27 import com.liferay.util.LogUtil;
28 import com.liferay.util.Validator;
29 import com.liferay.util.servlet.StringServletResponse;
30
31 import javax.servlet.RequestDispatcher;
32 import javax.servlet.ServletContext;
33 import javax.servlet.http.HttpServletRequest;
34 import javax.servlet.jsp.JspException;
35
36 import org.apache.commons.logging.Log;
37 import org.apache.commons.logging.LogFactory;
38
39
45 public class IncludeTag extends ParamAncestorTagImpl {
46
47 public int doEndTag() throws JspException {
48 try {
49 ServletContext ctx = getServletContext();
50 HttpServletRequest req = getServletRequest();
51 StringServletResponse res = getServletResponse();
52
53 Theme theme = (Theme)req.getAttribute(WebKeys.THEME);
54
55 String page = getPage();
56
57 if (isTheme()) {
58 ThemeUtil.include(ctx, req, res, pageContext, page, theme);
59 }
60 else {
61 RequestDispatcher rd = ctx.getRequestDispatcher(page);
62
63 rd.include(req, res);
64 }
65
66 pageContext.getOut().print(res.getString());
67
68 return EVAL_PAGE;
69 }
70 catch (Exception e) {
71 LogUtil.log(_log, e);
72
73 return EVAL_PAGE;
74 }
75 finally {
76 clearParams();
77 }
78 }
79
80 public boolean isTheme() {
81 return false;
82 }
83
84 public String getPage() {
85 if (Validator.isNull(_page)) {
86 return getDefaultPage();
87 }
88 else {
89 return _page;
90 }
91 }
92
93 public void setPage(String page) {
94 _page = page;
95 }
96
97 protected String getDefaultPage() {
98 return null;
99 }
100
101 private static Log _log = LogFactory.getLog(IncludeTag.class);
102
103 private String _page;
104
105 }