This is an automated email from the ASF dual-hosted git repository.
jamesyong pushed a commit to branch trunk in repository https://gitbox.apache.org/repos/asf/ofbiz-framework.git The following commit(s) were added to refs/heads/trunk by this push: new 3006523 Fixed: multi-block attribute for html-template tag (OFBIZ-11686) 3006523 is described below commit 30065236b1b57c67b00ba11764eddf2bf78f906c Author: James Yong <[hidden email]> AuthorDate: Thu Aug 13 14:31:07 2020 +0800 Fixed: multi-block attribute for html-template tag (OFBIZ-11686) Fixed regression where 1st of the 2 maps failed to render when accessing: https://localhost:8443/example/control/ExampleGeoLocationPointSet4 https://localhost:8443/example/control/ExampleOsmGeoLocationPointSet4 --- .../java/org/apache/ofbiz/widget/model/HtmlWidget.java | 4 ++-- .../ofbiz/widget/model/MultiBlockHtmlTemplateUtil.java | 15 +++++++++++++-- 2 files changed, 15 insertions(+), 4 deletions(-) diff --git a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/HtmlWidget.java b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/HtmlWidget.java index 00d83d8..e1ee228 100644 --- a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/HtmlWidget.java +++ b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/HtmlWidget.java @@ -248,11 +248,11 @@ public class HtmlWidget extends ModelScreenWidget { if (fileName.endsWith(".ftl")) { fileName = fileName.substring(0, fileName.length() - 4); } - MultiBlockHtmlTemplateUtil.putScriptInCache(context, fileName, scripts.toString()); + String key = MultiBlockHtmlTemplateUtil.putScriptInCache(context, fileName, scripts.toString()); // construct script link String webappName = (String) context.get("webappName"); - String url = "/" + webappName + "/control/getJs?name=" + fileName; + String url = "/" + webappName + "/control/getJs?name=" + key; // add csrf token to script link HttpServletRequest request = (HttpServletRequest) context.get("request"); diff --git a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/MultiBlockHtmlTemplateUtil.java b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/MultiBlockHtmlTemplateUtil.java index 2a6f6e5..216412c 100644 --- a/framework/widget/src/main/java/org/apache/ofbiz/widget/model/MultiBlockHtmlTemplateUtil.java +++ b/framework/widget/src/main/java/org/apache/ofbiz/widget/model/MultiBlockHtmlTemplateUtil.java @@ -418,8 +418,9 @@ public final class MultiBlockHtmlTemplateUtil { * @param context * @param fileName * @param fileContent + * @return key used to store the script */ - public static void putScriptInCache(Map<String, Object> context, String fileName, String fileContent) { + public static String putScriptInCache(Map<String, Object> context, String fileName, String fileContent) { HttpSession session = (HttpSession) context.get("session"); String sessionId = session.getId(); Map<String, String> scriptMap = UtilGenerics.cast(scriptCache.get(sessionId)); @@ -433,7 +434,17 @@ public final class MultiBlockHtmlTemplateUtil { }; scriptCache.put(sessionId, scriptMap); } - scriptMap.put(fileName, fileContent); + String key = fileName; + if (scriptMap.containsKey(fileName)) { + int counter = 1; + key = fileName + "-" + counter; + while (scriptMap.containsKey(key)) { + counter++; + key = fileName + "-" + counter; + } + } + scriptMap.put(key, fileContent); + return key; } /** |
Free forum by Nabble | Edit this page |