Struts2 struts xml常用配置解析2

2021-05-18 15:28:41 字數 2579 閱讀 2562

在本文中將詳細講述struts.xml檔案的常用配置及注意事項。

1.  使用標籤重用配置檔案

在struts2中提供了乙個預設的struts.xml檔案,但如果package、action、interceptors等配置比較多時,都放到乙個struts.xml檔案不太容易維護。因此,就需要將struts.xml檔案分成多個配置檔案,然後在struts.xml檔案中使用標籤引用這些配置檔案。這樣做的優點如下:

結構更清晰,更容易維護配置資訊。

配置檔案可以復用。如果在多個web程式中都使用類似或相同的配置檔案,那麼可以使用標籤來引用這些配置檔案,這樣可以減少工作量。

假設有乙個配置檔案,檔名為newstruts.xml,**如下:

則struts.xml引用newstruts.xml檔案的**如下:

大家要注意一下,用引用的xml檔案也必須是完成的struts2的配置。實際上在引用時是單獨解析的xml檔案,而不是將被引用的檔案插入到struts.xml檔案中。

2. action的別名

在預設情況下,struts2會呼叫動作類的execute方法。但有些時候,我們需要在乙個動作類中處理不同的動作。也就是使用者請求不同的動作時,執行動作類中的不同的方法。為了達到這個目的,可以在標籤中通過method方法指定要指行的動作類的方法名,並且需要為不同的動作起不同的名子(也稱為別名)。如下面**所示:

上面**的兩個動作的class屬性都指向同乙個類,name為這個類起了兩個動作別名:test和my。在動作my中,使用了method屬性指定要要執行的方法名為my。

在myaction類中必須要有my方法,**如下:

package action;

import com.opensymphony.xwork2.actionsupport;

public

class myaction extends actionsupport

public string my() throws exception

}除了在struts.xml中配置別名,還可以通過請求引數來描述指定動作(並不需要在struts.xml中配置)。請求引數的格式如下:

關於通過請求指定動作的詳細內容,請參閱筆者寫的《struts2教程2:處理乙個form多個submit》。

3. 為action指定引數

在struts2中還可以為action指定乙個或多個引數。大家還記著struts1.x是如何設定的action引數不? 在struts1.x中可以使用標籤的parameter屬性為其指定乙個action引數,如果要指定多個,就只能通過逗號(,)或其他的分隔符將不同的引數隔開。而在struts2中可以通過標籤指定任意多個引數。**如下:

value1

value2

/result.jsp

當然,在action中讀這些引數也非常簡單,只需要象獲取請求引數一樣在action類中定義相應的setter方法即可(一般不用定義getter方法)。如下面的**將讀取param1和param2引數的值:

package action;

import com.opensymphony.xwork2.actionsupport;

public

class myaction extends actionsupport

public

void setparam1(string param1)

public

void setparam2(string param2)

}當struts2在呼叫execute之前,param1和param2的值就已經是相應引數的值了,因此,在execute方法中可以直接使用param1和param2。

4. 選擇result型別

在預設時,標籤的type屬性值是「dispatcher」(實際上就是**,forward)。開發人員可以根據自己的需要指定不同的型別,如redirect、stream等。如下面**所示:

/result.jsp

這此result-type可以在struts2-core-2.0.11.1.jar包或struts2源**中的struts-default.xml檔案中找到,在這個檔案中找到標籤,所有的result-type都在裡面定義了。**如下:

5. 全域性result

有很多時候乙個初很多使用,這時可以使用標籤來定義全域性的,**如下:

/result.jsp

如果中沒有相應的,struts2就會使用全域性的。

Struts2 0配置檔案 struts xml

struts框架的核心配置檔案就是struts.xml配置檔案,該檔案主要負責管理struts 2框架的業務控制器action.在預設情況下,struts 2框架將自動載入放在web inf classes路徑下的struts.xml檔案。在大部分應用裡,隨著應用規模的增加,系統中action數量也...

Struts 2 Struts2 詳細配置

全域性配置 配置在packe 中,所有 action 的上面。頁面 頁面 區域性結果優先順序高於全域性。異常資訊配置 404異常 500異常 web.xml 配置 404 error.jsp 500 error.jsp 包 package 配置 所有的action 配置,都必須在包中。jsp頁面路徑...

Struts2字尾 深入Struts2

一 將action字尾變成html字尾 xmlversion 1.0 encoding utf 8 doctype struts public apache software foundation dtd struts configuration 2.1 en struts include file...