1 21 package net.mlw.vlh.web.tag.support; 22 23 import java.util.Iterator ; 24 import java.util.Map ; 25 26 import javax.portlet.PortletURL; 27 import javax.portlet.RenderResponse; 28 import javax.servlet.ServletRequest ; 29 import javax.servlet.jsp.PageContext ; 30 31 49 public class PortletLinkEncoder implements LinkEncoder 50 { 51 public PortletURL getRenderURL(PageContext pageContext) 52 { 53 ServletRequest request = pageContext.getRequest(); 54 RenderResponse renderResponse = (RenderResponse) request.getAttribute("javax.portlet.response"); 55 PortletURL url = renderResponse.createRenderURL(); 56 return url; 57 } 58 59 67 public String encode(PageContext pageContext, Map parameters) 68 { 69 PortletURL url = getRenderURL(pageContext); 70 71 for (Iterator iter = parameters.keySet().iterator(); iter.hasNext();) 72 { 73 String key = (String ) iter.next(); 74 75 Object value = parameters.get(key); 76 if (value instanceof String []) 77 { 78 String [] values = (String []) value; 79 url.setParameter(key, values); 80 } 81 else if (value instanceof String ) 82 { 83 url.setParameter(key, (String ) value); 84 } 85 else if (value != null) 86 { 87 url.setParameter(key, value.toString()); 88 } 89 } 90 91 return url.toString(); 92 } 93 94 } | Popular Tags |