一、簡單表單驗證示例
structs.xml配置
<struts
>
<
package
name
="validate"
namespace
="/validate"
extends
="struts-default"
>
<
action
name
="validatedemo"
class
="cn.hjp.validate.validatedemo"
>
<
result
name
="success"
type
="dispatcher"
>/validate/index.jsp
result
>
<
result
name
="input"
type
="dispatcher"
>/validate/index.jsp
result
>
action
>
package
>
struts
>
前端index頁面部分**:fielderror顯示錯誤資訊,如果前端頁面html標籤是使用的structs2標籤構成,則可以不使用fielderror標籤也能顯示,如下面注釋中**
<%@ taglib prefix="
s"uri=
"/struts-tags
"%>
<
body
>
<
form
action
="/struts2-demo/validate/validatedemo.action"
method
="post"
>
<
input
type
="text"
name
="name"
/><
input
type
="submit"
value
="提交"
/>
form
>
<
s:fielderror
fieldname
="name"
/>
body
>
驗證判斷**寫在validate方法中
publicclass validatedemo extends
actionsupport
public
void
setname(string name)
@override
public string execute() throws
exception
@override
public
void
validate()
//驗證的不是字段,沒有指定欄位的驗證錯誤,也就是業務型錯誤,就根據情況使用下面兩個,而前端頁面對應新增和structs2標籤元素
addactionerror("action錯誤");//action錯誤
addactionmessage("提示資訊");//提示資訊
}}
使用structs2的標籤構造的html元素時,自定義出現型別錯誤的顯示資訊
比如,後台年齡欄位為整數型別,如果填寫成了字元型別,則會報錯「invalid field value for field "age"」;
自定義提示錯誤資訊的方式就是在相應的action包下,新建相應action名稱命名的properties檔案,檔案內制定對應字段及其錯誤資訊,示例如下
validatedemo.properties檔案,內容invalidate.fieldvalue.age="年齡字段型別錯誤"
初學structs2,表單驗證簡單補充
一 使用註解方式,跳過驗證某個方法 由於在開發中,我們不需在請求每乙個action類中的方法時都要走validate方法,那麼我們可以在這些不需要驗證的方法上加上 skipvalidation註解即可 二 不重寫validate方法下,通過使用validate或validatedo字首來指定類中哪個...
初學structs2,簡單配置
一 structs2 demo1專案下新建structs.xml檔案,檔名必須是structs 二 package節點配置及其子節點配置 index.jsp 三 在web.xml檔案下新增filter並配置 struts2 org.apache.struts2.dispatcher.ng.filte...
Structs2 命名空間
在學習structs2的過程中,遇到了namsapce,雖然比較好理解,但是在使用的過程中還是遇到些問題,便將其記錄下來。作用 為了解決包含同乙個action的問題,在相同的命名空間裡不能存在相同的action,但是不同的命名空間裡,可以存在相同的action。須知 structs2不支援單獨為ac...