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("]"); |
Free forum by Nabble | Edit this page |