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

使用通配符在Struts2配置文件中可以方便地定义多个相似的Action或者Interceptor,以及进行全局的配置。

在Struts2的配置文件中,有三种形式可以使用通配符,分别如下:

  1. 使用“”号通配符
    例如:<package name="default" extends="struts-default">
    <action name="show*"
    class="org.example.ShowAction"
    method="execute">
    </action>
    </package>

    在上述配置中,使用了名为“show
    ”的Action来匹配以“show”开头的所有URL请求,例如“/showOne”、“/showTwo”等都会被匹配到该Action中。

  2. 使用“**”号通配符
    例如:`

          <interceptor-stack name="myStack">
              <interceptor-ref name="myInterceptor"/>
          </interceptor-stack>
    
          <package name="default" extends="struts-default">
              <interceptors>
                  <interceptor-stack name="myStack">
                      <interceptor-ref name="defaultStack"/>
                  </interceptor-stack>
              </interceptors>
    
              <action name="**/modify*"
                      class="org.example.ModifyAction"
                      method="execute">
                  <interceptor-ref name="myStack"/>
              </action>
          </package>`
    

    上述配置中,使用了名为“*/modify”的Action来匹配以任意数目的子目录开头,且以“modify”开头的所有URL请求,例如“/user/modifyInfo”、“/product/modifyPrice”等都会被匹配到该Action中。同时,该Action中也使用了自定义的拦截器栈“myStack”。

  3. 使用“{}”号通配符
    例如:<package name="default" extends="struts-default">
    <action name="{id}"
    class="org.example.ShowAction"
    method="execute">
    </action>
    </package>

    在上述配置中,使用了名为“{id}”的Action来匹配任何一段URL请求,并将该段请求作为参数传递给ShowAction的execute()方法中,例如“/user/1”、“/product/2”等都会被匹配到该Action中。在此例中,可以通过在Action中配置的get/set方法获取到URL请求传递的参数值。

示例1:

假设在Struts2应用中,有很多以“show”开头的URL请求,对应的Action都是ShowAction类,如果我们不想为每一个Action都单独定义一个name属性,而是使用通配符,则配置文件可以如下修改:

<package name="default" extends="struts-default">
    <action name="show*"
            class="org.example.ShowAction"
            method="execute">
    </action>
</package>

上述配置即可匹配到所有以“show”开头的请求,并转发到ShowAction中处理。

示例2:

假设在Struts2应用中,有多个类似于“/user/1”,“/product/2”这样的请求,需要传递请求的路径作为参数给相应的Action类。这时候,我们可以使用{ }通配符来捕获这些请求,并将其传递给Action处理,配置文件可以如下修改:

<package name="default" extends="struts-default">
    <action name="{id}"
            class="org.example.ShowAction"
            method="execute">
    </action>
</package>

在这个配置中,“{id}”用来匹配URL请求中的任何一段,该段的值会被传递给对应的Action类处理。例如,URL请求为“/user/1”,则该请求会被匹配到这个配置中的Action,并被转发到ShowAction中,ShowAction可以通过getter方法获取到路径参数值“1”。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Struts2配置文件中使用通配符的方法(三种形式) - Python技术站

(0)
上一篇 2023年5月20日
下一篇 2023年5月20日

相关文章

  • Java操作Excel的示例详解

    Java操作Excel的示例详解 在 Java 工程中,对 Excel 进行操作是一个比较常见的需求。下面将会详细讲解如何使用 Java 操作 Excel 文档。 前置条件 在开始操作 Excel 文件前,需要先将相应的依赖项添加到 Maven 或 Gradle 项目中: Maven 在 pom.xml 文件中添加以下依赖项: <dependency&…

    Java 2023年5月20日
    00
  • Java如何分析算法的时间和空间复杂度

    要分析算法的时间和空间复杂度,我们需要了解算法的执行效率以及所占用的内存空间。Java提供一些实用的工具来帮助我们进行分析。具体步骤如下。 1. 编写算法代码 首先,我们需要编写一个算法的代码示例。这个算法可以是排序、查找、遍历等等。为了方便演示,我们这里以一个简单的冒泡排序算法为例: public static void bubbleSort(int[] …

    Java 2023年5月19日
    00
  • Java微信公众号开发之通过微信公众号获取用户信息

    Java微信公众号开发之通过微信公众号获取用户信息 简介 本文将详细讲解如何通过Java实现微信公众号获取用户信息细节,包括获取用户基本信息和获取关注者列表,最后提供两条常用的示例说明。 准备工作 在开始获取用户信息之前,你需要进行以下步骤的准备工作: 注册微信公众号,并获取关注者OpenID和Access Token. 创建Java Web服务器,并引入相…

    Java 2023年5月26日
    00
  • Java Apache Commons报错“ObjectNotFoundException”的原因与解决方法

    “BaseRuntimeException”是Java的Struts框架中的一个异常,通常由以下原因之一引起: 无效的操作:如果操作无效,则可能会出现此错误。在这种情况下,需要检查操作以解决此问题。 无效的配置:如果配置无效,则可能会出现此错误。在这种情况下,需要检查配置以解决此问题。 以下是两个实例: 例1 如果操作无效,则可以尝试检查操作以解决此问题。例…

    Java 2023年5月5日
    00
  • jdbc实现宠物商店管理系统

    下面是jdbc实现宠物商店管理系统的完整攻略: 1. 准备工作 在开始之前,需要先做好下面这些准备工作: 安装并配置好Java开发环境 安装并配置好MySQL数据库 下载并导入jdbc驱动包 2. 数据库设计 宠物商店管理系统需要管理宠物、客户和订单等信息,因此需要设计对应的数据库结构。这里简单介绍一下三个关键表的设计: 2.1. pet表 pet表包含了宠…

    Java 2023年6月16日
    00
  • Java基于IDEA实现qq邮件发送小程序

    下面是”Java基于IDEA实现qq邮件发送小程序”的完整攻略: 一、前期准备 下载安装Java SE Development Kit(JDK),安装完成后配置环境变量,以便于在命令行中能够识别Java命令。 下载安装IDEA(IntelliJ IDEA)集成开发环境。IDEA是一款由JetBrains开发的Java集成开发环境,具有强大的功能,可以大大提高…

    Java 2023年5月23日
    00
  • spring cloud-给Eureka Server加上安全的用户认证详解

    下面是详细的攻略过程,分为三个部分:Eureka Server的基础配置、添加Spring Security的依赖、配置Spring Security的用户认证。 基础配置 首先需要创建一个基础的Eureka Server服务,可以在pom.xml文件中直接添加以下依赖: <dependency> <groupId>org.sprin…

    Java 2023年6月3日
    00
  • Java8 将List转换为用逗号隔开的字符串的多种方法

    让我来详细讲解一下Java8将List转换为用逗号隔开的字符串的多种方法。 方法一:使用String.join()方法 使用String.join()方法是将List转换为用逗号隔开的字符串最为简单的方法之一。该方法java8中引入,允许我们将字符串列表连接起来,用指定的分隔符分隔。 示例代码如下: List<String> list = Arr…

    Java 2023年5月20日
    00
合作推广
合作推广
分享本页
返回顶部