struts2 必須 的lib文件:
commons-logging-1.0.4.jar 日誌記錄接口,可以配置選擇使用jdk1.4 log 或者 log4j
freemarker-2.3.8.jar 所有標籤的模板都是用Freemarker編寫
ognl-2.6.11.jar Objet Graph NavigationLanguage,Struts2表達式的基礎。
struts2-core-2.0.9.jar struts2框架類庫
xwork-2.0.4.jar xwork類庫,struts2的基礎
commons-fileupload-1.2.1.jar 文件上傳功能,必須的jar包之一
struts 2 的action編寫
struts2 中 Actionsupport 的作用
Action 跟 Actionsupport 的區別
當我們在寫action的時候,可以實現Action接口,也可以繼承Actionsupport這個類.到底這兩個有什麼區別呢?
Action接口有:
public static final java.lang.String SUCCESS = "success";
public static final java.lang.String NONE = "none";
public static final java.lang.String ERROR = "error";
public static final java.lang.String INPUT = "input";
public static final java.lang.String LOGIN = "login";
public abstract java.lang.String execute() throws java.lang.Exception;
而Actionsupport這個工具類在實現了Action接口的基礎上還定義了一個validate()方法,重寫該方法,它會在execute()方法之前執行,如校驗失敗,會轉入input處,必須在配置該Action時配置input屬性。
另外,Actionsupport還提供了一個getText(String key)方法還實現國際化,該方法從資源文件上獲取國際化信息.
這樣在自定義標籤時可以定義一個變量爲new actionsupport對象實現國際化。
ActionSupport類的作用
struts2不要求我們自己設計的action類繼承任何的struts基類或struts接口,但是我們爲了方便實現我們自己的action,大多數情況下都會繼承com.opensymphony.xwork2.ActionSupport類,並重寫此類裏的public String execute() throws Exception方法。因爲此類中實現了很多的實用藉口,提供了很多默認方法,這些默認方法包括國際化信息的方法、默認的處理用戶請求的方法等,這樣可以大大的簡化Acion的開發。
Struts2中通常直接使用Action來封裝HTTP請求參數,因此,Action類裏還應該包含與請求參數對應的屬性,並且爲屬性提供對應的getter和setter方法。
Struts 2 interceptor