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