Result可以設定全局結果集,如:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
< struts > < constant name = "struts.devMode" value = "true" /> < package name = "user" namespace = "/user" extends = "struts-default" > < global-results > < result name = "mainpage" >/main.jsp</ result > </ global-results > < action name = "index" > < result >/index.jsp</ result > </ action > < action name = "user" class = "com.bjsxt.struts2.user.action.UserAction" > < result >/user_success.jsp</ result > < result name = "error" >/user_error.jsp</ result > </ action > </ package > < package name = "admin" namespace = "/admin" extends = "user" > < action name = "admin" class = "com.bjsxt.struts2.user.action.AdminAction" > < result >/admin.jsp</ result > </ action > </ package > </ struts > |
其中
1
2
3
|
< global-results > < result name = "mainpage" >/main.jsp</ result > </ global-results > |
就是設定的全局結果集,在這種方式下,所有的user包內的result只要是返回“mainpage”,都會跳轉到main.jsp頁面,它用途很多,最常用的就是用戶填寫url錯誤時,跳轉到主頁或者是error頁面。那么在其他包下如何也使用全局結果集呢?
如上面的
1
2
3
4
5
|
< package name = "admin" namespace = "/admin" extends = "user" > < action name = "admin" class = "com.bjsxt.struts2.user.action.AdminAction" > < result >/admin.jsp</ result > </ action > </ package > |
這個是包的繼承關系,admin包繼承自user包,所以他就具有了所有user包下的屬性,這個非常好用,當我們有很多公共的頁面需要顯示時,可以用一個包作為這些包的父類包,把這些公共的result寫到其中,其他包只需繼承這個包即可。
以上就是Struts2中使用Result配置全局結果集的全部內容,希望能給大家一個參考,也希望大家多多支持服務器之家。