Author: bayard Date: Wed Jul 7 02:14:53 2010 New Revision: 961057 URL: http://svn.apache.org/viewvc?rev=961057&view=rev Log: Upgraded to the JVM included version of URLEncoder from the Util.URLEncode method. Removing said method. Supplid by Jeremy Boynes to #49561
Modified: tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/ParamSupport.java tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/Util.java Modified: tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/ParamSupport.java URL: http://svn.apache.org/viewvc/tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/ParamSupport.java?rev=961057&r1=961056&r2=961057&view=diff ============================================================================== --- tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/ParamSupport.java (original) +++ tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/ParamSupport.java Wed Jul 7 02:14:53 2010 @@ -17,6 +17,8 @@ package org.apache.taglibs.standard.tag.common.core; +import java.io.UnsupportedEncodingException; +import java.net.URLEncoder; import java.util.LinkedList; import java.util.List; @@ -86,11 +88,12 @@ public abstract class ParamSupport exten value = bodyContent.getString().trim(); } if (encode) { - // FIXME: revert to java.net.URLEncoder.encode(s, enc) once - // we have a dependency on J2SE 1.4+. String enc = pageContext.getResponse().getCharacterEncoding(); - parent.addParameter( - Util.URLEncode(name, enc), Util.URLEncode(value, enc)); + try { + parent.addParameter(URLEncoder.encode(name, enc), URLEncoder.encode(value, enc)); + } catch (UnsupportedEncodingException e) { + throw new JspTagException(e); + } } else { parent.addParameter(name, value); } Modified: tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/Util.java URL: http://svn.apache.org/viewvc/tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/Util.java?rev=961057&r1=961056&r2=961057&view=diff ============================================================================== --- tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/Util.java (original) +++ tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core/Util.java Wed Jul 7 02:14:53 2010 @@ -192,83 +192,7 @@ public class Util { } return input.substring(begin, end).trim(); } - - /** - * URL encodes a string, based on the supplied character encoding. - * This performs the same function as java.next.URLEncode.encode - * in J2SDK1.4, and should be removed if the only platform supported - * is 1.4 or higher. - * @param s The String to be URL encoded. - * @param enc The character encoding - * @return The URL encoded String - * [taken from jakarta-tomcat-jasper/jasper2 - * org.apache.jasper.runtime.JspRuntimeLibrary.java] - */ - public static String URLEncode(String s, String enc) { - - if (s == null) { - return "null"; - } - - if (enc == null) { - enc = "UTF-8"; // Is this right? - } - - StringBuffer out = new StringBuffer(s.length()); - ByteArrayOutputStream buf = new ByteArrayOutputStream(); - OutputStreamWriter writer = null; - try { - writer = new OutputStreamWriter(buf, enc); - } catch (java.io.UnsupportedEncodingException ex) { - // Use the default encoding? - writer = new OutputStreamWriter(buf); - } - - for (int i = 0; i < s.length(); i++) { - int c = s.charAt(i); - if (c == ' ') { - out.append('+'); - } else if (isSafeChar(c)) { - out.append((char)c); - } else { - // convert to external encoding before hex conversion - try { - writer.write(c); - writer.flush(); - } catch(IOException e) { - buf.reset(); - continue; - } - byte[] ba = buf.toByteArray(); - for (int j = 0; j < ba.length; j++) { - out.append('%'); - // Converting each byte in the buffer - out.append(Character.forDigit((ba[j]>>4) & 0xf, 16)); - out.append(Character.forDigit(ba[j] & 0xf, 16)); - } - buf.reset(); - } - } - return out.toString(); - } - private static boolean isSafeChar(int c) { - if (c >= 'a' && c <= 'z') { - return true; - } - if (c >= 'A' && c <= 'Z') { - return true; - } - if (c >= '0' && c <= '9') { - return true; - } - if (c == '-' || c == '_' || c == '.' || c == '!' || - c == '~' || c == '*' || c == '\'' || c == '(' || c == ')') { - return true; - } - return false; - } - /** * HttpServletRequest.getLocales() returns the server's default locale * if the request did not specify a preferred language. --------------------------------------------------------------------- To unsubscribe, e-mail: dev-unsubscr...@tomcat.apache.org For additional commands, e-mail: dev-h...@tomcat.apache.org