Skip to content

Commit

Permalink
Merge pull request #474 from kerttup/Branch_1
Browse files Browse the repository at this point in the history
WW-2411 Add a maxlength attribute to the textarea tag
  • Loading branch information
lukaszlenart committed Feb 28, 2021
2 parents eb8bc5e + 255b563 commit 04b04df
Show file tree
Hide file tree
Showing 4 changed files with 45 additions and 0 deletions.
19 changes: 19 additions & 0 deletions core/src/main/java/org/apache/struts2/components/TextArea.java
Expand Up @@ -51,6 +51,8 @@ public class TextArea extends UIBean {
protected String readonly;
protected String rows;
protected String wrap;
protected String maxlength;
protected String minlength;

public TextArea(ValueStack stack, HttpServletRequest request, HttpServletResponse response) {
super(stack, request, response);
Expand Down Expand Up @@ -78,6 +80,13 @@ public void evaluateExtraParams() {
if (wrap != null) {
addParameter("wrap", findString(wrap));
}

if (maxlength != null) {
addParameter("maxlength", findString(maxlength));
}
if (minlength != null) {
addParameter("minlength", findString(minlength));
}
}

@StrutsTagAttribute(description="HTML cols attribute", type="Integer")
Expand All @@ -99,4 +108,14 @@ public void setRows(String rows) {
public void setWrap(String wrap) {
this.wrap = wrap;
}

@StrutsTagAttribute(description="HTML maxlength attribute", type="Integer")
public void setMaxlength(String maxlength) {
this.maxlength = maxlength;
}

@StrutsTagAttribute(description="HTML minlength attribute", type="Integer")
public void setMinlength(String minlength) {
this.minlength = minlength;
}
}
Expand Up @@ -37,6 +37,8 @@ public class TextareaTag extends AbstractUITag {
protected String readonly;
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);
Expand All @@ -50,6 +52,8 @@ protected void populateParams() {
textArea.setReadonly(readonly);
textArea.setRows(rows);
textArea.setWrap(wrap);
textArea.setMaxlength(maxlength);
textArea.setMinlength(minlength);
}

public void setCols(String cols) {
Expand All @@ -67,5 +71,13 @@ public void setRows(String rows) {
public void setWrap(String wrap) {
this.wrap = wrap;
}

public void setMaxlength(String maxlength) {
this.maxlength = maxlength;
}

public void setMinlength(String minlength) {
this.minlength = minlength;
}

}
6 changes: 6 additions & 0 deletions core/src/main/resources/template/simple/textarea.ftl
Expand Up @@ -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>
</textarea>
8 changes: 8 additions & 0 deletions core/src/site/resources/tags/textarea-attributes.html
Expand Up @@ -133,6 +133,14 @@
<td align="left" valign="top">String</td>
<td align="left" valign="top">Define label position of form element (top/left)</td>
</tr>
<tr>
<td align="left" valign="top">maxlength</td>
<td align="left" valign="top">false</td>
<td align="left" valign="top"></td>
<td align="left" valign="top">false</td>
<td align="left" valign="top">Integer</td>
<td align="left" valign="top">HTML maxlength attribute</td>
</tr>
<tr>
<td align="left" valign="top">name</td>
<td align="left" valign="top">false</td>
Expand Down

0 comments on commit 04b04df

Please sign in to comment.