2013-06-19 40 views
3

在struts 1個標籤爲HTML使用最大長度的文本區域。我如何限制用戶輸入超過100個字符?爲什麼struts 1忽略了這樣一個基本屬性?如何在Struts 1 html標記

回答

2

由於這種「基本屬性」不是在IE甚至支持IE10之前,和在HTML 5.

的Struts 1的溶液中加入早由一個顯著餘量,一直EOL'd,且具有不在一段時間內看到了新版本。請記住,Struts 1.2的最後一個版本是2006年版,是什麼?

您可以提取TLD並修改它允許JSP 2.0下任意屬性:

<dynamic-attributes>true</dynamic-attributes> 
0

您可以在JSP文本區域或輸入中使用maxlength="100",否則你必須自定義validator.xml。

在validator.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> 
+0

A 「最大長度」 屬性後,以限制長度是沒有意義的; divs沒有長度。驗證發生在服務器端或客戶端,但不會阻止用戶輸入其他字符而不是JavaScript。 –

6

添加使用JS的屬性。

把這樣的事情你的textarea後:

<script type="text/javascript"> 
    document.getElementById('textarea-id').setAttribute('maxlength', '512'); 
</script> 
1
  1. 添加styleId屬性爲html:textarea,支柱不會接受id屬性。
  2. 加入Javascript上的div

    <html:textarea styleId="contactText" property="contactText" cols="55" rows="10"/> 
    
    <script type="text/javascript"> 
        document.getElementById('contactText').setAttribute('maxlength', '10'); 
    </script>