《struts2》指定多個配置檔案和預設Action
《struts2》:指定多個配置檔案和預設Action
由於我們不可能將一個所有的內容寫在一個struts.xml檔案中,特別是在比較大的應用中更是如此,為便於管理,就可以根據功能的不同寫在不同的.xml檔案中,然後將這些.xml檔案包含在struts.xml檔案中。
還是以一個例子來進行說明要比較好一點
先看struts.xml檔案中的內容哈:這裡只假設有2個xml檔案。struts.xml中採用
<include file="XXX.xml"></include>的格式來包含其他檔案
helloworld.xml檔案中的內容如下:
other.xml檔案中的內容如下:
在瀏覽器中的測試如下:
在完成這個例子的過程中,遇到了一個問題:Dispatcher initialization failed:Unable to load configuration.原因是:helloworld.xml和other.xml檔案中的package的name屬性要不一樣才行。
預設Action
在我們的生活中,我們經常看到這種404的錯誤,如下:
如果我們做一個網站系統,當用戶輸入的網址不正確的時候,我們不應該給出這種404錯誤介面,我們可以選擇更好的方式,例如:提示它可能url輸入有問題,或者是其它的資訊。
基於此,在struts2中有預設Action為這種實現提供的可能,即當用戶輸入的url有錯的時候,我們可以採用預設Action來回應。
實現如下:
<default-action-ref name="error"></default-action-ref>
<action name="error"> <!-- 這裡action的name屬性應該與上一行的name屬性的名字一致-->
<result>/error.jsp</result>
</action>
具體例子如下:
struts.xml檔案中的內容如下:
在瀏覽器中輸出一個錯誤url的結果如下: