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配置全局结果集的全部内容,希望能给大家一个参考,也希望大家多多支持服务器之家。