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>
+<#if parameters.maxlength?has_content>
+ maxlength="${parameters.maxlength}"<#rt/>
+#if>
+<#if parameters.minlength?has_content>
+ minlength="${parameters.minlength}"<#rt/>
+#if>
\ No newline at end of file