Struts2配置文件中使用通配符的方法(三种形式)

作者:在写代码的路上 时间:2022-08-21 01:53:40 

Struts2简介

Struts2是一个基于MVC设计模式的Web应用框架,它本质上相当于一个servlet,在MVC设计模式中,Struts2作为控制器(Controller)来建立模型与视图的数据交互。Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用 * 的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与ServletAPI完全脱离开,所以Struts 2可以理解为WebWork的更新产品。虽然从Struts 1到Struts 2有着太大的变化,但是相对于WebWork,Struts 2的变化很小。

形式一:调用相同Action中的不同方法


<action name="*Action" class="Jcuckoo.LoginRegistAction" method="{1}">

<result name="input">/login.jsp</result>
   <result name="error">/error.jsp</result>
   <result name="success">/welcome.jsp</result>
</action>

其中表达式{1}的值name属性值中第一个*的值。

如果用户请求的URL为loginAction.action,则调用Jcuckoo.LoginRegistAction中的login方法;

如果用户请求的URL为registerAction.action,则调用Jcuckoo.LoginRegistAction中的register方法;

形式二:通过匹配,调用不同的Action的execute方法


<action name="*Action" class="Jcuckoo.{1}Action">

<result name="input">/login.jsp</result>
   <result name="error">/error.jsp</result>
   <result name="success">/welcome.jsp</result>
</action>

上面没有出现method属性,故默认调用对应的execute方法

如果用户请求的URL为LoginAction.action,则调用Jcuckoo.LoginAction中的execute方法;

如果用户请求的URL为RegisterAction.action,则调用Jcuckoo.RegisterAction中的execute方法;

形式三:动态结果


<action name="crud_*" class="Jcuckoo.CrudAction" method="{1}">

<result name="input">/input.jsp</result>
   <result>/{1}.jsp</result>
</action>

当处理结果是input时,会转到/input.jsp页面

当处理结果是success时,

如果crud_create.action,则会执行Jcuckoo.CrudAction中的create方法,并且跳转到/create.jsp;
如果crud_delete.action,则会执行Jcuckoo.CrudAction中的delete方法,并且跳转到/delete.jsp;

总结

以上所述是小编给大家介绍的Struts2配置文件中使用通配符的方法网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

来源:https://segmentfault.com/a/1190000021104286

标签:Struts,配置文件,通配符
0
投稿

猜你喜欢

  • java 输入一个数字组成的数组(输出该数组的最大值和最小值)

    2023-11-24 21:41:58
  • Java各种排序算法汇总(冒泡,选择,归并,希尔及堆排序等)

    2021-10-05 14:46:23
  • c# StringBuilder.Replace 方法 (Char, Char, Int32, Int32)

    2022-02-27 06:53:11
  • 使用Springboot自定义转换器实现参数去空格功能

    2021-11-12 03:36:29
  • java多线程累加计数的实现方法

    2021-07-19 12:10:36
  • c#中var关键字用法浅谈

    2022-03-14 00:21:51
  • Android自定义圆环倒计时控件

    2023-10-07 06:52:41
  • C#简单的加密类实例

    2022-12-15 11:31:18
  • Android沉浸式状态栏设计的实例代码

    2023-11-14 13:03:14
  • Spring源码解密之自定义标签与解析

    2023-11-25 01:11:34
  • Android编程中出现The connection to adb is down问题的解决方法

    2022-06-27 17:46:07
  • 基于javaWeb 项目SSM配置要点及可能遇到的问题和解决方法

    2023-10-27 21:45:16
  • 基于Android XML解析与保存的实现

    2023-05-25 18:54:32
  • 关于Spring Data Jpa 自定义方法实现问题

    2023-11-28 10:08:32
  • Java静态泛型使用方法实例解析

    2023-03-31 00:41:35
  • Java @GlobalLock注解详细分析讲解

    2023-06-03 03:55:53
  • java 实现发短信功能---腾讯云短信

    2023-11-29 11:03:49
  • java 线程中start方法与run方法的区别详细介绍

    2023-08-23 20:41:31
  • Android自定义View之自定义评价打分控件RatingBar实现自定义星星大小和间距

    2023-03-14 04:30:16
  • java提取json中某个数组的所有值方法

    2022-04-25 16:02:04
  • asp之家 软件编程 m.aspxhome.com