1 21 package net.mlw.vlh.web.tag.support; 22 23 import java.io.UnsupportedEncodingException ; 24 import java.net.URLEncoder ; 25 import java.util.Iterator ; 26 import java.util.Map ; 27 28 import javax.servlet.jsp.PageContext ; 29 30 43 public class DefaultLinkEncoder implements LinkEncoder 44 { 45 46 private String encoding = "UTF-8"; 47 48 51 public String encode(PageContext pageContext, Map parameters) 52 { 53 StringBuffer sb = new StringBuffer (); 54 55 try 56 { 57 for (Iterator iter = parameters.keySet().iterator(); iter.hasNext();) 58 { 59 String key = (String ) iter.next(); 60 61 Object value = parameters.get(key); 62 if (value instanceof String []) 63 { 64 String [] values = (String []) value; 65 for (int i = 0; i < values.length; i++) 66 { 67 sb.append(key).append("=").append(URLEncoder.encode(values[i], encoding)).append("&"); 68 } 69 } 70 else if (value instanceof String ) 71 { 72 sb.append(key).append("=").append(URLEncoder.encode((String ) value, encoding)).append("&"); 73 } 74 else if (value != null) 75 { 76 sb.append(key).append("=").append(URLEncoder.encode(value.toString(), encoding)).append("&"); 77 } 78 79 } 80 } 81 catch (UnsupportedEncodingException e) 82 { 83 throw new RuntimeException (e); 84 } 85 return sb.toString(); 86 } 87 88 91 public String getEncoding() 92 { 93 return encoding; 94 } 95 96 99 public void setEncoding(String encoding) 100 { 101 this.encoding = encoding; 102 } 103 } | Popular Tags |