1、struts.xml文件中使用package标签的好处:
1、对Action标签进行分门别类的管理,将同1个功能模块的Action放在同一个package标签下。提高了项目后期的可维护性。
2、重用功能 extends用于继承一个父包,默认继承父包的配置。
A) namesapce属性【实战:必须添加namespace】
作用:在访问action时,路径必须添加namesapce的值,那么以后可使用过滤器Filter对某一个package下的所有action添加共性的操作。
如下图所示package标签的用法:
在之前的Servlet中,有两种跳转方式:
请求转发:
一次请求,服务器内部跳转,地址栏不变
request.getRequestDispatcher("/路径").forward(request, response);
重定向:
2次请求,浏览器间的跳转,地址栏发生改变
response.sendRedirect("/项目名/路径");
而在Struts2中,主要有两种方式的跳转:
Action 跳到jsp页面中
Action跳到action.
2、struts2中的跳转
1、 Action跳到jsp页面的请求转发和重定向的不同:
在配置文件struts.xml中:
Action 跳转到jsp页面中,type跳转类型如果不写的话默认是请求转发,type = “dispatcher”
Action 重定向到jsp页面:type = “redirect”
2、Action跳转到Action:
Action请求转发到Action: type= “chain”
Action 重定向到Action: type = “redirectAction”
所以总结type一共有四种类型:
< result name=”” type=””>/jsp的名字</ result>
Type的值有四个
1.dispatcher 默认值。转发到jsp页面。
2.redirect 重定向到一个jsp页面。
3.redirectAction 重定向到一个action。
4.chain 转发到一个action。
3、 Action的跨包重定向
4、全局跳转
< global-results> 全局跳转
作用:解决Action中跳转路径冗余的问题。
全局跳转要注意的事项:
- a)全局跳转路径,在项目开发后期重构时使用。
- b)当全局路径配置和局部路径配置冲突时,局部优先。
- c)全部路径配置只在同1个包下生效