2013-03-25 51 views
0

驗證HTML標籤我有一個JSP頁面如何使用Struts 2

<form action="passData" method="post"> 
    <input type="text" name="username" /> 
    <input type="submit"/> 
</form> 

我有動作類UserData.java與Struts2的

的配置和我使用UserData-validation.xml進行驗證

<field name="username"> 
    <field-validator type="requiredstring"> 
    <message>Name is required</message>   
    </field-validator> 
</field> 

但如果我使用

<s:textfield name="username"/> 

它工作正常。但我想使用簡單的HTML標籤。

+0

添加你的動作,添加你的Struts.xml和InterceptorStack聲明...如果''不工作,試着讓它工作,而不是支持蹩腳的html標籤:/你有吸氣劑和在Action中設置用戶名? – 2013-03-25 09:54:59

+0

我有get-set用戶名。如果我使用,那麼驗證工作正常,但是當我使用然後不工作 – 2013-03-25 09:57:01

+0

好吧,明白了。那麼你爲什麼要使用經典的HTML標籤呢?因爲你不喜歡Struts標籤生成的代碼?如果是這樣,請在struts.xml中指定'theme =「simple」',以防止Struts生成除元素代碼之外的任何代碼(如標籤等)。 – 2013-03-25 10:00:38

回答

2

你必須使用一些Struts2標籤。如果您不想使用<s:textfield>標籤,則使用<s:fielderror>標籤,該標籤會導致字段錯誤。

+0

如何使用 inplace 2013-03-25 08:55:41

+0

如果<?s:fielderror>標籤存在,它們只會呈現字段錯誤。你需要使用''。 – 2013-03-25 08:56:41

+0

亞我明白但我想調用validation.xml而不使用struts 2標籤。這是可能的?? – 2013-03-25 09:00:31

0

驗證工作在html標籤罰款,即<form<input如果name屬性相匹配的validation.xml指定的fieldName

0

無需更改conf任何東西。只需將所有Struts <s:form>標籤更改爲html標籤<form>,並且只在代碼中添加<s:fielderror> </s:fielderror>。這是完美的工作。