svn commit: r1644904 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: WidgetWorker.java form/MacroFormRenderer.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r1644904 - in /ofbiz/trunk/framework/widget/src/org/ofbiz/widget: WidgetWorker.java form/MacroFormRenderer.java

jleroux@apache.org
Author: jleroux
Date: Fri Dec 12 14:46:56 2014
New Revision: 1644904

URL: http://svn.apache.org/r1644904
Log:
A patch from Leon for ""Value" attribute of hidden form field is overridden by same name value in context" https://issues.apache.org/jira/browse/OFBIZ-5904

Uses URLEncoder.encode while rendering a link
Uses StringUtil.htmlEncoder.encode while rendering a form field.

Modified:
    ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java
    ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java

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=1644904&r1=1644903&r2=1644904&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/WidgetWorker.java Fri Dec 12 14:46:56 2014
@@ -20,7 +20,6 @@ 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;
@@ -145,8 +144,8 @@ public class WidgetWorker {
                 externalWriter.append(parameter.getKey());
                 externalWriter.append('=');
                 StringUtil.SimpleEncoder simpleEncoder = (StringUtil.SimpleEncoder) context.get("simpleEncoder");
-                if (simpleEncoder != null) {
-                    externalWriter.append(simpleEncoder.encode(parameterValue));
+                if (simpleEncoder != null && parameterValue != null) {
+                    externalWriter.append(simpleEncoder.encode(URLEncoder.encode(parameterValue, Charset.forName("UTF-8").displayName())));
                 } else {
                     externalWriter.append(parameterValue);
                 }
@@ -298,15 +297,10 @@ public class WidgetWorker {
 
         for (Map.Entry<String, String> parameter: parameterMap.entrySet()) {
             if (parameter.getValue() != null) {
-                String key = parameter.getKey();
-
                 writer.append("<input name=\"");
-                writer.append(key);
+                writer.append(parameter.getKey());
                 writer.append("\" value=\"");
-
-                String valueFromContext = context.containsKey(key) && context.get(key)!= null ?
-                        context.get(key).toString() : parameter.getValue();
-                writer.append(valueFromContext);
+                writer.append(StringUtil.htmlEncoder.encode(parameter.getValue()));
                 writer.append("\" type=\"hidden\"/>");
             }
         }
@@ -362,12 +356,7 @@ public class WidgetWorker {
 
         public String getValue(Map<String, Object> context) {
             if (this.value != null) {
-                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);
-                }
+                return this.value.expandString(context);
             }
 
             Object retVal = null;
@@ -398,11 +387,7 @@ 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 {
-                    try {
-                        returnValue = URLEncoder.encode(retVal.toString(), Charset.forName("UTF-8").displayName());
-                    } catch (UnsupportedEncodingException e) {
-                        Debug.logError(e, module);
-                    }
+                    returnValue = retVal.toString();
                 }
                 return returnValue;
             } else {

Modified: ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java?rev=1644904&r1=1644903&r2=1644904&view=diff
==============================================================================
--- ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java (original)
+++ ofbiz/trunk/framework/widget/src/org/ofbiz/widget/form/MacroFormRenderer.java Fri Dec 12 14:46:56 2014
@@ -3083,7 +3083,7 @@ public final class MacroFormRenderer imp
             parameters.append(parameter.getName());
             parameters.append("'");
             parameters.append(",'value':'");
-            parameters.append(parameter.getValue(context));
+            parameters.append(StringUtil.htmlEncoder.encode(parameter.getValue(context)));
             parameters.append("'}");
         }
         parameters.append("]");