From 92afe8b85e865b6e806bf97a67339444c66ba37d Mon Sep 17 00:00:00 2001 From: KIP <70582464+kerttup@users.noreply.github.com> Date: Tue, 23 Feb 2021 13:21:30 +0200 Subject: [PATCH 1/2] Maxlength attribute added to textarea tag --- .../java/org/apache/struts2/components/TextArea.java | 10 ++++++++++ .../org/apache/struts2/views/jsp/ui/TextareaTag.java | 6 ++++++ core/src/site/resources/tags/textarea-attributes.html | 8 ++++++++ 3 files changed, 24 insertions(+) diff --git a/core/src/main/java/org/apache/struts2/components/TextArea.java b/core/src/main/java/org/apache/struts2/components/TextArea.java index 6e280fcc0..4c903b51e 100644 --- a/core/src/main/java/org/apache/struts2/components/TextArea.java +++ b/core/src/main/java/org/apache/struts2/components/TextArea.java @@ -51,6 +51,7 @@ public class TextArea extends UIBean { protected String readonly; protected String rows; protected String wrap; + protected String maxlength; public TextArea(ValueStack stack, HttpServletRequest request, HttpServletResponse response) { super(stack, request, response); @@ -78,6 +79,10 @@ public class TextArea extends UIBean { if (wrap != null) { addParameter("wrap", findString(wrap)); } + + if (maxlength != null) { + addParameter("maxlength", findString(maxlength)); + } } @StrutsTagAttribute(description="HTML cols attribute", type="Integer") @@ -99,4 +104,9 @@ public class TextArea extends UIBean { public void setWrap(String wrap) { this.wrap = wrap; } + + @StrutsTagAttribute(description="HTML maxlength attribute", type="Integer") + public void setMaxlength(String maxlength) { + this.maxlength = maxlength; + } } 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 1f77f1def..0ba144227 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 @@ -37,6 +37,7 @@ public class TextareaTag extends AbstractUITag { protected String readonly; protected String rows; protected String wrap; + protected String maxlength; public Component getBean(ValueStack stack, HttpServletRequest req, HttpServletResponse res) { return new TextArea(stack, req, res); @@ -50,6 +51,7 @@ public class TextareaTag extends AbstractUITag { textArea.setReadonly(readonly); textArea.setRows(rows); textArea.setWrap(wrap); + textArea.setMaxlength(maxlength); } public void setCols(String cols) { @@ -67,5 +69,9 @@ public class TextareaTag extends AbstractUITag { public void setWrap(String wrap) { this.wrap = wrap; } + + public void setMaxlength(String maxlength) { + this.maxlength = maxlength; + } } diff --git a/core/src/site/resources/tags/textarea-attributes.html b/core/src/site/resources/tags/textarea-attributes.html index fbdf0549f..8a35ed8c1 100644 --- a/core/src/site/resources/tags/textarea-attributes.html +++ b/core/src/site/resources/tags/textarea-attributes.html @@ -133,6 +133,14 @@ String Define label position of form element (top/left) + + maxlength + false + + false + Integer + HTML maxlength attribute + name false From 255b563dcf34d73ad6d94f71bf1331147714441a Mon Sep 17 00:00:00 2001 From: KIP <70582464+kerttup@users.noreply.github.com> Date: Fri, 26 Feb 2021 13:24:13 +0200 Subject: [PATCH 2/2] Adding minlength attribute to TextArea tag also update of textare.ftl --- .../java/org/apache/struts2/components/TextArea.java | 9 +++++++++ .../org/apache/struts2/views/jsp/ui/TextareaTag.java | 8 +++++++- core/src/main/resources/template/simple/textarea.ftl | 6 ++++++ 3 files changed, 22 insertions(+), 1 deletion(-) diff --git a/core/src/main/java/org/apache/struts2/components/TextArea.java b/core/src/main/java/org/apache/struts2/components/TextArea.java index 4c903b51e..0d03991c6 100644 --- a/core/src/main/java/org/apache/struts2/components/TextArea.java +++ b/core/src/main/java/org/apache/struts2/components/TextArea.java @@ -52,6 +52,7 @@ public class TextArea extends UIBean { protected String rows; protected String wrap; protected String maxlength; + protected String minlength; public TextArea(ValueStack stack, HttpServletRequest request, HttpServletResponse response) { super(stack, request, response); @@ -83,6 +84,9 @@ public class TextArea extends UIBean { if (maxlength != null) { addParameter("maxlength", findString(maxlength)); } + if (minlength != null) { + addParameter("minlength", findString(minlength)); + } } @StrutsTagAttribute(description="HTML cols attribute", type="Integer") @@ -109,4 +113,9 @@ public class TextArea extends UIBean { public void setMaxlength(String maxlength) { this.maxlength = maxlength; } + + @StrutsTagAttribute(description="HTML minlength attribute", type="Integer") + public void setMinlength(String minlength) { + this.minlength = minlength; + } } 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 0ba144227..0efbe0188 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 @@ -38,6 +38,7 @@ public class TextareaTag extends AbstractUITag { protected String rows; protected String wrap; protected String maxlength; + protected String minlength; public Component getBean(ValueStack stack, HttpServletRequest req, HttpServletResponse res) { return new TextArea(stack, req, res); @@ -52,6 +53,7 @@ public class TextareaTag extends AbstractUITag { textArea.setRows(rows); textArea.setWrap(wrap); textArea.setMaxlength(maxlength); + textArea.setMinlength(minlength); } public void setCols(String cols) { @@ -72,6 +74,10 @@ public class TextareaTag extends AbstractUITag { public void setMaxlength(String maxlength) { this.maxlength = maxlength; - } + } + + public void setMinlength(String minlength) { + this.minlength = minlength; + } } diff --git a/core/src/main/resources/template/simple/textarea.ftl b/core/src/main/resources/template/simple/textarea.ftl index 22f2d9b95..f08826f1e 100644 --- a/core/src/main/resources/template/simple/textarea.ftl +++ b/core/src/main/resources/template/simple/textarea.ftl @@ -52,4 +52,10 @@ <#if parameters.nameValue??> <@s.property value="parameters.nameValue"/><#t/> +<#if parameters.maxlength?has_content> + maxlength="${parameters.maxlength}"<#rt/> + +<#if parameters.minlength?has_content> + minlength="${parameters.minlength}"<#rt/> + \ No newline at end of file