在struts-config.xml必須設定需要驗證的actionform
validate="true"
input="/index.jsp"
name="findsellform"
path="/findsell"
scope="request"
type="ucshop.action.findsellaction" >
validate預設值是true的,所以可以省略;如果不想驗證,則設為false,這樣的話,後面的就不用看了!
input要指明,檢驗流程:當執行validate方法時,返回的actionerrors檢查內部是否存在元素,有則返回到原來的input指定的頁面;否則繼續前進,執行action的execute方法!到時候forward的fail和success才起作用!
jsp頁面
物品分類:
物品名稱:
注意:加藍的語句中property的值sellname是對應下面的validate()方法中的"errors.add("sellname",new actionmessage("errors.productnameempty")); "的selllname!
//返回actionerrors
return errors;
}
自struts1.2, actionerror類都deprecated,不再贊成使用,官方建議使用actionmessage類,所以在struts1.2以下版本的,上面的"errors.add("sellname", newactionmessage("errors.productnameempty")); "改為errors.add("sellname", newactionerror("errors.productnameempty"));
同時actionerrors的global_error 被deprecated,被actionmessages.global_message 代替!
****************************************
有時候需要在action的execute()方法裡面進行例如許可權的驗證.
舉個例子,validate()是檢查使用者名稱和密碼資料是否為空,當使用者輸入了完整資訊後,執行execute(),這時若發現"使用者名稱或密碼有誤",,就需要顯示錯誤資訊
public
class servervalidationaction
extends action
"success");
}
}
errors.productnameempty=物品名稱必須要填寫
等於號左邊的內容名字就是new acionmessage("erors.productnameempty"));的value
建立檔案內容為
Struts和struts2的不同
struts和struts2的不同點 1 action struts的action類要求繼承乙個基類。struts2的action類是通過實現介面。2 執行緒模式 struts action執行緒不安全的,單列的模式。struts2 action物件為每個請求產生乙個例項 3 servlet依賴 s...
Struts的擴充套件
struts不但功能強大也易於擴充套件。你可以通過三種方式來擴充套件struts 1.plugin 在應用啟動或關閉時須執行某業務邏輯,建立你自己的plugin類 2.requestprocessor 在請求處理階段乙個特定點欲執行某業務邏輯,建立你自己的requestprocessor。例如 你想...
struts的ActionMessages訊息機制
actionmessages以乙個hashmap儲存actionmessage.map中的key是乙個標識,其對應的value是乙個list物件,所有的actionmessage儲存在list中.也就是說key標識了一組actionmessage.先介紹涉及到的類中的幾個常用方法,然後給出幾個示例 ...