1
22
23 package com.liferay.taglib.portlet;
24
25 import com.liferay.portal.kernel.log.Log;
26 import com.liferay.portal.kernel.log.LogFactoryUtil;
27 import com.liferay.portal.kernel.util.MethodInvoker;
28 import com.liferay.portal.kernel.util.MethodWrapper;
29 import com.liferay.portal.kernel.util.PortalClassLoaderUtil;
30 import com.liferay.portal.kernel.util.StringPool;
31
32 import javax.servlet.jsp.JspException;
33 import javax.servlet.jsp.PageContext;
34 import javax.servlet.jsp.tagext.TagSupport;
35
36
41 public class RenderURLParamsTag extends TagSupport {
42
43 public static String doTag(String varImpl, PageContext pageContext)
44 throws Exception {
45
46 Object returnObj = null;
47
48 Thread currentThread = Thread.currentThread();
49
50 ClassLoader contextClassLoader = currentThread.getContextClassLoader();
51
52 try {
53 currentThread.setContextClassLoader(
54 PortalClassLoaderUtil.getClassLoader());
55
56 MethodWrapper methodWrapper = new MethodWrapper(
57 _TAG_CLASS, _TAG_DO_END_METHOD,
58 new Object[] {varImpl, pageContext});
59
60 returnObj = MethodInvoker.invoke(methodWrapper);
61 }
62 catch (Exception e) {
63 _log.error(e, e);
64
65 throw e;
66 }
67 finally {
68 currentThread.setContextClassLoader(contextClassLoader);
69 }
70
71 if (returnObj != null) {
72 return returnObj.toString();
73 }
74 else {
75 return StringPool.BLANK;
76 }
77 }
78
79 public int doEndTag() throws JspException {
80 try {
81 doTag(_varImpl, pageContext);
82 }
83 catch (Exception e) {
84 if (e instanceof JspException) {
85 throw (JspException)e;
86 }
87 else {
88 throw new JspException(e);
89 }
90 }
91
92 return EVAL_PAGE;
93 }
94
95 public void setVarImpl(String varImpl) {
96 _varImpl = varImpl;
97 }
98
99 private static final String _TAG_CLASS =
100 "com.liferay.portal.servlet.taglib.portlet.RenderURLParamsTagUtil";
101
102 private static final String _TAG_DO_END_METHOD = "doEndTag";
103
104 private static Log _log = LogFactoryUtil.getLog(RenderURLParamsTag.class);
105
106 private String _varImpl;
107
108 }