Skip to content

Commit 2267b14

Browse files
kazuki43zoobclozel
authored andcommitted
Add newline at the beginning of textarea macro for FreeMarker and Velocity
Issue: SPR-13503 Cherry-picked from 9b20231
1 parent 0c8a40b commit 2267b14

File tree

4 files changed

+12
-7
lines changed

4 files changed

+12
-7
lines changed

spring-webmvc/src/main/resources/org/springframework/web/servlet/view/freemarker/spring.ftl

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -202,7 +202,8 @@
202202
-->
203203
<#macro formTextarea path attributes="">
204204
<@bind path/>
205-
<textarea id="${status.expression?replace('[','')?replace(']','')}" name="${status.expression}" ${attributes}>${stringStatusValue}</textarea>
205+
<textarea id="${status.expression?replace('[','')?replace(']','')}" name="${status.expression}" ${attributes}>
206+
${stringStatusValue}</textarea>
206207
</#macro>
207208

208209
<#--

spring-webmvc/src/main/resources/org/springframework/web/servlet/view/velocity/spring.vm

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -161,7 +161,8 @@
161161
*#
162162
#macro( springFormTextarea $path $attributes )
163163
#springBind($path)
164-
<textarea id="#springXmlId(${status.expression})" name="${status.expression}" ${attributes}>$!status.value</textarea>
164+
<textarea id="#springXmlId(${status.expression})" name="${status.expression}" ${attributes}>
165+
$!status.value</textarea>
165166
#end
166167

167168
#**

spring-webmvc/src/test/java/org/springframework/web/servlet/view/freemarker/FreeMarkerMacroTests.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -211,12 +211,12 @@ public void testForm2() throws Exception {
211211

212212
@Test
213213
public void testForm3() throws Exception {
214-
assertEquals("<textarea id=\"name\" name=\"name\" >Darren</textarea>", getMacroOutput("FORM3"));
214+
assertEquals("<textarea id=\"name\" name=\"name\" >\nDarren</textarea>", getMacroOutput("FORM3"));
215215
}
216216

217217
@Test
218218
public void testForm4() throws Exception {
219-
assertEquals("<textarea id=\"name\" name=\"name\" rows=10 cols=30>Darren</textarea>", getMacroOutput("FORM4"));
219+
assertEquals("<textarea id=\"name\" name=\"name\" rows=10 cols=30>\nDarren</textarea>", getMacroOutput("FORM4"));
220220
}
221221

222222
// TODO verify remaining output (fix whitespace)

spring-webmvc/src/test/java/org/springframework/web/servlet/view/velocity/VelocityMacroTests.java

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -184,8 +184,10 @@ public void allMacros() throws Exception {
184184
if (tokens[i].equals("URL")) assertEquals("/springtest/aftercontext.html", tokens[i + 1]);
185185
if (tokens[i].equals("FORM1")) assertEquals("<input type=\"text\" id=\"name\" name=\"name\" value=\"Darren\" >", tokens[i + 1]);
186186
if (tokens[i].equals("FORM2")) assertEquals("<input type=\"text\" id=\"name\" name=\"name\" value=\"Darren\" class=\"myCssClass\">", tokens[i + 1]);
187-
if (tokens[i].equals("FORM3")) assertEquals("<textarea id=\"name\" name=\"name\" >Darren</textarea>", tokens[i + 1]);
188-
if (tokens[i].equals("FORM4")) assertEquals("<textarea id=\"name\" name=\"name\" rows=10 cols=30>Darren</textarea>", tokens[i + 1]);
187+
if (tokens[i].equals("FORM3")) assertEquals("<textarea id=\"name\" name=\"name\" >", tokens[i + 1]);
188+
if (tokens[i].equals("FORM3")) assertEquals("Darren</textarea>", tokens[i + 2]);
189+
if (tokens[i].equals("FORM4")) assertEquals("<textarea id=\"name\" name=\"name\" rows=10 cols=30>", tokens[i + 1]);
190+
if (tokens[i].equals("FORM4")) assertEquals("Darren</textarea>", tokens[i + 2]);
189191
//TODO verify remaining output (fix whitespace)
190192
if (tokens[i].equals("FORM9")) assertEquals("<input type=\"password\" id=\"name\" name=\"name\" value=\"\" >", tokens[i + 1]);
191193
if (tokens[i].equals("FORM10")) assertEquals("<input type=\"hidden\" id=\"name\" name=\"name\" value=\"Darren\" >", tokens[i + 1]);
@@ -248,7 +250,8 @@ public void idContainsBraces() throws Exception {
248250

249251
for (int i = 0; i < tokens.length; i++) {
250252
if (tokens[i].equals("FORM1")) assertEquals("<input type=\"text\" id=\"spouses0.name\" name=\"spouses[0].name\" value=\"Fred\" >", tokens[i + 1]); //
251-
if (tokens[i].equals("FORM2")) assertEquals("<textarea id=\"spouses0.name\" name=\"spouses[0].name\" >Fred</textarea>", tokens[i + 1]);
253+
if (tokens[i].equals("FORM2")) assertEquals("<textarea id=\"spouses0.name\" name=\"spouses[0].name\" >", tokens[i + 1]);
254+
if (tokens[i].equals("FORM2")) assertEquals("Fred</textarea>", tokens[i + 2]);
252255
if (tokens[i].equals("FORM3")) assertEquals("<select id=\"spouses0.name\" name=\"spouses[0].name\" >", tokens[i + 1]);
253256
if (tokens[i].equals("FORM4")) assertEquals("<select multiple=\"multiple\" id=\"spouses\" name=\"spouses\" >", tokens[i + 1]);
254257
if (tokens[i].equals("FORM5")) assertEquals("<input type=\"radio\" name=\"spouses[0].name\" value=\"Darren\"", tokens[i + 1]);

0 commit comments

Comments
 (0)