在使用struts2時,每乙個action都需要配置,每乙個action裡面的方法以及其返回到的介面都需要配置,如果乙個乙個配置,就太麻煩了,這裡我們可以約定一些命名規範,然後再struts.xml裡面使用萬用字元配置。
萬用字元配置的好處:在做專案時,不可能乙個action類只處理乙個業務(因為這樣降低了**的可讀性),所以專案中乙個action可能要處理很多個業務,這時如果每個業務都要配置乙個就會很麻煩,會降低**可讀性。這時就可使使用萬用字元來配置。萬用字元配置action其實是一種動態呼叫。
先看一段action裡面的struts.xml的配置:
/success.jsp
/index.jsp
舉個例子:
/login_.jsp
本例子的解釋:
1、「login_*」:login_之後可以匹配任意字元,比如:login_add;
2、method=「":表示method屬性值匹配第乙個 「*」 的內容。比如:name="login_add",則method="add";
3、login_.jsp:這裡的跟method=「"中是一樣的。
注意:這裡的name屬性值只有乙個 * ,還可以有兩個、三個、甚至跟多,比如有兩個。寫成name=「*_*」;此時可以使用代表第乙個 *,代表第二個 *。
涉及到萬用字元配置的還有乙個問題:就是當乙個struts.xml裡面有兩個配置都可以和當前的請求匹配時,程式該執行哪乙個呢?這就涉及到執行優先順序問題。
例如以下情況:
/login_.jsp
/login_.jsp
/login_.jsp
檢索順序:
如果能找到name屬性與請求的action名稱完全一致的action時,就直接匹配那個完全一致的action。如:如果請求的action名稱是login_add
,就不會再使用萬用字元去匹配,而直接匹配name="login_add"
的action。
如果找不到name屬相與請求的action名稱完全一致的action時,就按照順序匹配。比如:請求的action名稱是
login_del,找不到name=「
login_del」的action,就會按照順序匹配,就會匹配到name=「*」的action。
struts2中減少action數量(萬用字元使用)
如struts中配有如下幾個action,manageruseraction中有與之對應的方法 action name adduser class com.netshuai.action.manageruseraction method add result name success adduser...
struts2中result type的配置
1 result type 當你指定result的時候可以配置乙個型別。注意 如果不指定的話,預設的是dispatcher,意思是 運用伺服器跳轉 即 forward 2 除了dispatcher外,還有很多態別,例如 dispatcher 普通的頁面跳轉 redirect 伺服器端跳轉,url會顯...
struts2學習筆記 struts2的配置檔案
一 struts.xml定義bean的作用 1.建立該bean的例項,將該例項作為struts2框架的核心元件使用。2.bean包含的靜態方法需要乙個值注入。很方便地允許不建立某個類的例項,卻可以接受框架常量。通常需要設定static true 通常,當指定了type屬性時,該屬性不應該制定為tru...