diff --git a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/freemarker/spring.ftl b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/freemarker/spring.ftl
index 43b29af322..bfb41221f7 100644
--- a/spring-webmvc/src/main/java/org/springframework/web/servlet/view/freemarker/spring.ftl
+++ b/spring-webmvc/src/main/java/org/springframework/web/servlet/view/freemarker/spring.ftl
@@ -309,8 +309,8 @@
<@bind path />
<#assign id="${status.expression?replace('[','')?replace(']','')}">
<#assign isSelected = status.value?? && status.value?string=="true">
-
- checked="checked"#if> ${attributes}/>
+
+ checked="checked"#if> ${attributes}/>
#macro>
<#--
diff --git a/spring-webmvc/src/test/java/org/springframework/web/servlet/view/freemarker/FreeMarkerMacroTests.java b/spring-webmvc/src/test/java/org/springframework/web/servlet/view/freemarker/FreeMarkerMacroTests.java
index 17a4c4f50c..9e4f320ef6 100644
--- a/spring-webmvc/src/test/java/org/springframework/web/servlet/view/freemarker/FreeMarkerMacroTests.java
+++ b/spring-webmvc/src/test/java/org/springframework/web/servlet/view/freemarker/FreeMarkerMacroTests.java
@@ -107,7 +107,7 @@ public class FreeMarkerMacroTests {
fv.setApplicationContext(wac);
fv.setExposeSpringMacroHelpers(true);
- Map model = new HashMap();
+ Map model = new HashMap();
model.put("tb", new TestBean("juergen", 99));
fv.render(model, request, response);
}
@@ -126,7 +126,7 @@ public class FreeMarkerMacroTests {
fv.setApplicationContext(wac);
fv.setExposeSpringMacroHelpers(true);
- Map model = new HashMap();
+ Map model = new HashMap();
model.put(FreeMarkerView.SPRING_MACRO_REQUEST_CONTEXT_ATTRIBUTE, helperTool);
try {
@@ -265,6 +265,13 @@ public class FreeMarkerMacroTests {
assertEquals("", getMacroOutput("FORM17"));
}
+ @Test
+ public void testForm18() throws Exception {
+ String output = getMacroOutput("FORM18");
+ assertTrue("Wrong output: " + output, output.startsWith(""));
+ assertTrue("Wrong output: " + output, output.contains(""));
+ }
+
private String getMacroOutput(String name) throws Exception {
String macro = fetchMacro(name);
@@ -274,30 +281,32 @@ public class FreeMarkerMacroTests {
FileCopyUtils.copy("<#import \"spring.ftl\" as spring />\n" + macro, new FileWriter(resource.getPath()));
DummyMacroRequestContext rc = new DummyMacroRequestContext(request);
- Map msgMap = new HashMap();
+ Map msgMap = new HashMap();
msgMap.put("hello", "Howdy");
msgMap.put("world", "Mundo");
rc.setMessageMap(msgMap);
- Map themeMsgMap = new HashMap();
+ Map themeMsgMap = new HashMap();
themeMsgMap.put("hello", "Howdy!");
themeMsgMap.put("world", "Mundo!");
rc.setThemeMessageMap(themeMsgMap);
rc.setContextPath("/springtest");
- TestBean tb = new TestBean("Darren", 99);
- tb.setSpouse(new TestBean("Fred"));
- tb.setJedi(true);
- request.setAttribute("command", tb);
+ TestBean darren = new TestBean("Darren", 99);
+ TestBean fred = new TestBean("Fred");
+ fred.setJedi(true);
+ darren.setSpouse(fred);
+ darren.setJedi(true);
+ request.setAttribute("command", darren);
- HashMap names = new HashMap();
+ Map names = new HashMap();
names.put("Darren", "Darren Davison");
names.put("John", "John Doe");
names.put("Fred", "Fred Bloggs");
names.put("Rob&Harrop", "Rob Harrop");
Configuration config = fc.getConfiguration();
- Map model = new HashMap();
- model.put("command", tb);
+ Map model = new HashMap();
+ model.put("command", darren);
model.put("springMacroRequestContext", rc);
model.put("msgArgs", new Object[] { "World" });
model.put("nameOptionMap", names);
diff --git a/spring-webmvc/src/test/java/org/springframework/web/servlet/view/freemarker/test.ftl b/spring-webmvc/src/test/java/org/springframework/web/servlet/view/freemarker/test.ftl
index 8440b4f945..b1e0156186 100644
--- a/spring-webmvc/src/test/java/org/springframework/web/servlet/view/freemarker/test.ftl
+++ b/spring-webmvc/src/test/java/org/springframework/web/servlet/view/freemarker/test.ftl
@@ -89,3 +89,6 @@ FORM16
FORM17
<@spring.formInput "command.spouses[0].name", ""/>
+
+FORM18
+<@spring.formCheckbox "command.spouses[0].jedi" />