You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by ba...@apache.org on 2010/07/07 04:14:53 UTC
svn commit: r961057 - in
/tomcat/taglibs/standard/trunk/impl/src/main/java/org/apache/taglibs/standard/tag/common/core:
ParamSupport.java Util.java
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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: dev-help@tomcat.apache.org