Struts2中的跳转、package标签、挎包重定向、全局跳转、动态方法调用

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页面的请求转发和重定向的不同:
action跳到jsp
在配置文件struts.xml中:
Action 跳转到jsp页面中,type跳转类型如果不写的话默认是请求转发,type = “dispatcher”
Action 重定向到jsp页面:type = “redirect”

2、Action跳转到Action:
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的跨包重定向

action的挎包重定向

4、全局跳转

< global-results> 全局跳转
作用:解决Action中跳转路径冗余的问题。
全局跳转
全局跳转要注意的事项:

  • a)全局跳转路径,在项目开发后期重构时使用。
  • b)当全局路径配置和局部路径配置冲突时,局部优先。
  • c)全部路径配置只在同1个包下生效

5、DMI(Dynamic Method Invoke)动态方法调用

其实就是在一个Action中写多个方法,定义多个方法完成多个功能,将同1个模块中的功能定义在一个类中,提高了开发效率,同时提高了后期可维护性。
在这里插入图片描述
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/MacWx/article/details/93458939