This is an automated email from the ASF dual-hosted git repository.

lukaszlenart pushed a commit to branch WW-5191-textarea-max-length
in repository https://gitbox.apache.org/repos/asf/struts.git

commit 0e4d5962e1d774d6791b2f713263d9e9fcd41aab
Author: Lukasz Lenart <lukaszlen...@apache.org>
AuthorDate: Wed Jun 15 14:49:02 2022 +0200

    WW-5191 Fixes placement of maxLength and minLength attributes in 
<s:textarea/> tag
---
 .../java/org/apache/struts2/views/jsp/ui/TextareaTag.java  |  4 +++-
 core/src/main/resources/template/simple/textarea.ftl       | 14 +++++++-------
 .../java/org/apache/struts2/views/jsp/ui/TextareaTest.java |  4 ++++
 .../org/apache/struts2/views/jsp/ui/Textarea-1.txt         |  2 +-
 4 files changed, 15 insertions(+), 9 deletions(-)

diff --git 
a/core/src/main/java/org/apache/struts2/views/jsp/ui/TextareaTag.java 
b/core/src/main/java/org/apache/struts2/views/jsp/ui/TextareaTag.java
index 0da6fe8bf..b814eb115 100644
--- a/core/src/main/java/org/apache/struts2/views/jsp/ui/TextareaTag.java
+++ b/core/src/main/java/org/apache/struts2/views/jsp/ui/TextareaTag.java
@@ -73,7 +73,7 @@ public class TextareaTag extends AbstractUITag {
     public void setWrap(String wrap) {
         this.wrap = wrap;
     }
-    
+
     public void setMaxlength(String maxlength) {
         this.maxlength = maxlength;
     }
@@ -100,6 +100,8 @@ public class TextareaTag extends AbstractUITag {
         this.readonly = null;
         this.rows = null;
         this.wrap = null;
+        this.maxlength = null;
+        this.minlength = null;
     }
 
 }
diff --git a/core/src/main/resources/template/simple/textarea.ftl 
b/core/src/main/resources/template/simple/textarea.ftl
index f08826f1e..b3f653ced 100644
--- a/core/src/main/resources/template/simple/textarea.ftl
+++ b/core/src/main/resources/template/simple/textarea.ftl
@@ -45,6 +45,12 @@
 <#if parameters.title?has_content>
  title="${parameters.title}"<#rt/>
 </#if>
+<#if parameters.maxlength?has_content>
+ maxlength="${parameters.maxlength}"<#rt/>
+</#if>
+<#if parameters.minlength?has_content>
+ minlength="${parameters.minlength}"<#rt/>
+</#if>
 <#include 
"/${parameters.templateDir}/${parameters.expandTheme}/scripting-events.ftl" />
 <#include 
"/${parameters.templateDir}/${parameters.expandTheme}/common-attributes.ftl" />
 <#include 
"/${parameters.templateDir}/${parameters.expandTheme}/dynamic-attributes.ftl" />
@@ -52,10 +58,4 @@
 <#if parameters.nameValue??>
 <@s.property value="parameters.nameValue"/><#t/>
 </#if>
-<#if parameters.maxlength?has_content>
- maxlength="${parameters.maxlength}"<#rt/>
-</#if>
-<#if parameters.minlength?has_content>
- minlength="${parameters.minlength}"<#rt/>
-</#if>
-</textarea>
\ No newline at end of file
+</textarea>
diff --git 
a/core/src/test/java/org/apache/struts2/views/jsp/ui/TextareaTest.java 
b/core/src/test/java/org/apache/struts2/views/jsp/ui/TextareaTest.java
index d94bbd2c5..c83086255 100644
--- a/core/src/test/java/org/apache/struts2/views/jsp/ui/TextareaTest.java
+++ b/core/src/test/java/org/apache/struts2/views/jsp/ui/TextareaTest.java
@@ -47,6 +47,8 @@ public class TextareaTest extends AbstractUITagTest {
         tag.setId("the_id");
         tag.setOnkeyup("alert('hello');");
         tag.setReadonly("true");
+        tag.setMaxlength("100");
+        tag.setMinlength("10");
 
         tag.doStartTag();
         tag.doEndTag();
@@ -81,6 +83,8 @@ public class TextareaTest extends AbstractUITagTest {
         tag.setId("the_id");
         tag.setOnkeyup("alert('hello');");
         tag.setReadonly("true");
+        tag.setMaxlength("100");
+        tag.setMinlength("10");
 
         tag.doStartTag();
         setComponentTagClearTagState(tag, true);  // Ensure component tag 
state clearing is set true (to match tag).
diff --git 
a/core/src/test/resources/org/apache/struts2/views/jsp/ui/Textarea-1.txt 
b/core/src/test/resources/org/apache/struts2/views/jsp/ui/Textarea-1.txt
index 3b6fe998c..c40a1160d 100644
--- a/core/src/test/resources/org/apache/struts2/views/jsp/ui/Textarea-1.txt
+++ b/core/src/test/resources/org/apache/struts2/views/jsp/ui/Textarea-1.txt
@@ -1,4 +1,4 @@
 <tr>
     <td class="tdLabel"><label for="the_id" class="label">mylabel:</label></td>
-    <td class="tdInput"><textarea name="myname" cols="20" rows="30" 
disabled="disabled" readonly="readonly" tabindex="5" id="the_id" 
title="mytitle" onclick="alert('onclick');" onkeyup="alert('hello');" 
onchange="alert('goodbye');">bar</textarea></td>
+    <td class="tdInput"><textarea name="myname" cols="20" rows="30" 
disabled="disabled" readonly="readonly" tabindex="5" id="the_id" 
title="mytitle" maxlength="100" minlength="10" onclick="alert('onclick');" 
onkeyup="alert('hello');" onchange="alert('goodbye');">bar</textarea></td>
 </tr>

Reply via email to