There is a problem with this patch. URLs which are encoded could not redirect from HTTP to HTTPS. The error is shown on the demo site, for example, http://demo-trunk.ofbiz.apache.org:8080/ecommerce/ which the "Login" link does not work.
Regards, Chatree Srichart On Mon, Mar 5, 2012 at 6:13 PM, <sascharodek...@apache.org> wrote: > Author: sascharodekamp > Date: Mon Mar 5 11:13:29 2012 > New Revision: 1297006 > > URL: http://svn.apache.org/viewvc?rev=1297006&view=rev > Log: > No Url encoding for get parameters ( > https://issues.apache.org/jira/browse/OFBIZ-2628) using the URLEncoder to > encode and render URLs with special Chars. The encoding is always UTF-8 > > Modified: > > ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/RequestHandler.java > ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java > > Modified: > ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/RequestHandler.java > URL: > http://svn.apache.org/viewvc/ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/RequestHandler.java?rev=1297006&r1=1297005&r2=1297006&view=diff > > ============================================================================== > --- > ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/RequestHandler.java > (original) > +++ > ofbiz/trunk/framework/webapp/src/org/ofbiz/webapp/control/RequestHandler.java > Mon Mar 5 11:13:29 2012 > @@ -24,6 +24,8 @@ import java.io.IOException; > import java.io.Serializable; > import java.io.UnsupportedEncodingException; > import java.net.URL; > +import java.net.URLEncoder; > +import java.nio.charset.Charset; > import java.security.cert.X509Certificate; > import java.util.Enumeration; > import java.util.List; > @@ -1113,7 +1115,13 @@ public class RequestHandler { > newURL.insert(questionIndex, sessionId); > } > } > - encodedUrl = newURL.toString(); > + > + try { > + encodedUrl = URLEncoder.encode(newURL.toString(), > Charset.forName("UTF-8").displayName()); > + } catch (UnsupportedEncodingException e) { > + Debug.logError(e, module); > + encodedUrl = newURL.toString(); > + } > } > } else { > encodedUrl = newURL.toString(); > > Modified: > ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java > URL: > http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java?rev=1297006&r1=1297005&r2=1297006&view=diff > > ============================================================================== > --- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java > (original) > +++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java > Mon Mar 5 11:13:29 2012 > @@ -20,7 +20,10 @@ package org.ofbiz.widget; > > import java.io.IOException; > import java.io.StringWriter; > +import java.io.UnsupportedEncodingException; > import java.math.BigDecimal; > +import java.net.URLEncoder; > +import java.nio.charset.Charset; > import java.text.DateFormat; > import java.util.Map; > import java.util.TimeZone; > @@ -339,7 +342,12 @@ public class WidgetWorker { > > public String getValue(Map<String, Object> context) { > if (this.value != null) { > - return this.value.expandString(context); > + try { > + return > URLEncoder.encode(this.value.expandString(context), > Charset.forName("UTF-8").displayName()); > + } catch (UnsupportedEncodingException e) { > + Debug.logError(e, module); > + return this.value.expandString(context); > + } > } > > Object retVal = null; > @@ -370,7 +378,11 @@ public class WidgetWorker { > DateFormat df = UtilDateTime.toDateTimeFormat("EEE MMM > dd hh:mm:ss z yyyy", timeZone, null); > returnValue = df.format((java.util.Date) retVal); > } else { > - returnValue = retVal.toString(); > + try { > + returnValue = > URLEncoder.encode(retVal.toString(), > Charset.forName("UTF-8").displayName()); > + } catch (UnsupportedEncodingException e) { > + Debug.logError(e, module); > + } > } > return returnValue; > } else { > > >