在 html:textarea 的 struts 1 标签中
我没有看到 maxlength 属性。如何限制用户输入超过 100 个字符?还有为什么struts 1 省略了这样一个基本属性?
使用 JS 添加属性。
在你的 textarea 后面加上这样的东西:
<script type="text/javascript">
document.getElementById('textarea-id').setAttribute('maxlength', '512');
</script>
因为在 IE10 之前的 IE 中甚至不支持这个“基本属性”,而是在 HTML 5 中添加的。
Struts 1 大大早于它,已经停产,并且已经有一段时间没有看到新版本了。请记住,Struts 1.2 的最后一个版本是,什么,2006 年?
您可以提取 TLD 并对其进行修改以允许 JSP 2.0 下的任意属性:
<dynamic-attributes>true</dynamic-attributes>
styleId
属性html:textarea
,struts 将不接受id
属性。添加Javascript以限制之后的长度
<html:textarea styleId="contactText" property="contactText" cols="55" rows="10"/>
<script type="text/javascript">
document.getElementById('contactText').setAttribute('maxlength', '10');
</script>
您可以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>