diff --git a/core/src/main/resources/template/simple/dynamic-attributes.ftl b/core/src/main/resources/template/simple/dynamic-attributes.ftl index dc5c3be85..485c20cc0 100644 --- a/core/src/main/resources/template/simple/dynamic-attributes.ftl +++ b/core/src/main/resources/template/simple/dynamic-attributes.ftl @@ -24,7 +24,11 @@ <#assign aKeys = parameters.dynamicAttributes.keySet()><#rt/> <#list aKeys as aKey><#rt/> <#assign keyValue = parameters.dynamicAttributes[aKey]/> - <#assign value = struts.translateVariables(keyValue)!keyValue/> + <#if keyValue?is_string> + <#assign value = struts.translateVariables(keyValue)!keyValue/> + <#else> + <#assign value = keyValue?string/> + ${aKey}="${value?html}"<#rt/> <#rt/> <#rt/> \ No newline at end of file diff --git a/core/src/test/java/org/apache/struts2/views/freemarker/FreeMarkerResultTest.java b/core/src/test/java/org/apache/struts2/views/freemarker/FreeMarkerResultTest.java index cf6ab00d5..04a185e84 100644 --- a/core/src/test/java/org/apache/struts2/views/freemarker/FreeMarkerResultTest.java +++ b/core/src/test/java/org/apache/struts2/views/freemarker/FreeMarkerResultTest.java @@ -216,7 +216,8 @@ public class FreeMarkerResultTest extends StrutsTestCase { ActionMapping mapping = dispatcher.getContainer().getInstance(ActionMapper.class).getMapping(request, dispatcher.getConfigurationManager()); dispatcher.serviceAction(request, response, servletContext, mapping); String expected = "" - + ""; + + "" + + ""; assertEquals(expected, stringWriter.toString()); } diff --git a/core/src/test/resources/org/apache/struts2/views/freemarker/dynaAttributes.ftl b/core/src/test/resources/org/apache/struts2/views/freemarker/dynaAttributes.ftl index 3c80da3fb..f26c61d30 100644 --- a/core/src/test/resources/org/apache/struts2/views/freemarker/dynaAttributes.ftl +++ b/core/src/test/resources/org/apache/struts2/views/freemarker/dynaAttributes.ftl @@ -21,4 +21,5 @@ */ --> <@s.textfield name="test" dynamicAttributes={"placeholder":"input","foo":"bar"}/> -<@s.textfield name="test" placeholder="input" foo="bar"/> \ No newline at end of file +<@s.textfield name="test" placeholder="input" foo="bar"/> +<@s.textfield name="test" break=true /> \ No newline at end of file