4

在 html:textarea 的 struts 1 标签

我没有看到 maxlength 属性。如何限制用户输入超过 100 个字符?还有为什么struts 1 省略了这样一个基本属性?

4

4 回答 4

6

使用 JS 添加属性。

在你的 textarea 后面加上这样的东西:

<script type="text/javascript">
    document.getElementById('textarea-id').setAttribute('maxlength', '512');
</script>
于 2013-11-07T12:11:42.013 回答
3

因为在 IE10 之前的 IE 中甚至不支持这个“基本属性”,而是在 HTML 5 中添加的。

Struts 1 大大早于它,已经停产,并且已经有一段时间没有看到新版本了。请记住,Struts 1.2 的最后一个版本是,什么,2006 年?

您可以提取 TLD 并对其进行修改以允许 JSP 2.0 下的任意属性:

<dynamic-attributes>true</dynamic-attributes>
于 2013-06-19T01:59:00.233 回答
2
  1. 向 中添加styleId属性html:textarea,struts 将不接受id属性。
  2. 添加Javascript以限制之后的长度

    <html:textarea styleId="contactText" property="contactText" cols="55" rows="10"/>
    
    <script type="text/javascript">
        document.getElementById('contactText').setAttribute('maxlength', '10');
    </script>
    
于 2015-04-23T20:28:19.717 回答
-2

您可以maxlength="100"在文本区域内使用或在 JSP 中输入,否则您必须自定义 validator.xml。

在验证器.xml 中:

<field property="propertyname" depends="maxlength">
              <var-name>maxlength</var-name>
                    <var-value>100</var-value>
                  </var>
                  <msg key="propertyname.maxlength" name="maxlength" />
</field>

在 Application.proprties 中:

propertyname.maxlength = <tr><td colspan\="2" class\="note">Please make sure that FieldName is only  maximum 100 characters.</td></tr>
于 2013-06-25T09:43:01.420 回答