Struts2学习笔记(4)-通配符的使用

下面是对于“Struts2学习笔记(4)-通配符的使用”的完整攻略:

Struts2学习笔记(4)-通配符的使用

在 Struts2中,我们可以使用通配符来匹配 URL 中的任意部分,这使得我们可以更加灵活地配置我们的 URL 地址。 下面将会分别介绍两种常见的通配符。

通配符 *

* 通配符允许匹配任何字符,它通常用于模糊匹配路径名称的一部分。

下面是一个使用通配符的示例,在这个示例中,我们将匹配所有以字母 o 结尾的路径:

<action name="*o" class="com.example.actions.HelloWorldAction">
    <result>/pages/${actionName}.jsp</result>
</action>

在上面的示例中,*o 匹配了任何以字母 o 结尾的路径,包括 foo、baro、hello、helloo 等等。 我们还使用了 ${actionName} 占位符,将匹配到的字符串作为变量传递到 JSP 页面。

通配符 **

** 通配符允许匹配任何字符,包括路径分隔符 /,它通常用于匹配整个目录树。在使用 ** 时,必须在路径的开头使用 /

下面是一个使用双星号通配符的示例,在这个示例中,我们将匹配 /pages 目录及其子目录下的所有 .jsp 文件。

<action name="/**/pages/*.jsp" class="com.example.actions.HelloWorldAction">
    <result>/pages/${parent}/${basename}.jsp</result>
</action>

在上面的示例中,/**/pages/*.jsp 匹配了 /pages 目录及其子目录下的所有 .jsp 文件,例如 /pages/index.jsp/pages/admin/user.jsp 等等。

我们还使用了 ${parent}${basename} 占位符,${parent} 占位符表示匹配模式中 <action> 标签之前的目录,${basename} 占位符表示匹配模式中最后一个路径名称(通过 *.jsp 匹配)。

总结

以上是使用通配符 *** 的两个示例,这些示例可以让你更好地理解 Struts2 中通配符的用法,为你的 Struts2 项目提供更加灵活的路径配置。

希望这篇文章对你有所帮助!

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Struts2学习笔记(4)-通配符的使用 - Python技术站

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

相关文章

  • jsp输出九九乘法表的简单实例

    我将为您详细讲解“JSP输出九九乘法表的简单实例”的攻略: 前置条件: 需要安装本地的 Java 和 Tomcat 环境,同时需要了解基本的 JSP 开发知识。 创建 JSP 页面 首先,我们需要在 Tomcat 中创建一个 JSP 页面,用于输出九九乘法表。可以在本地的 Tomcat 服务器中的 webapps 目录下创建一个新的文件夹(例如叫做“jmf”…

    Java 2023年6月15日
    00
  • Spring AOP实现原理解析

    下面我将为你讲解 Spring AOP 实现原理解析的完整攻略。 Spring AOP 实现原理解析 1. 动态代理 Spring AOP 的实现原理是基于 JDK 动态代理或者 CGLIB 动态代理两种技术实现的。本文主要讲解的是 JDK 动态代理的实现原理。 在 JDK 动态代理中,代理对象实现了被代理对象的所有接口,并将方法调用转发给被代理对象。实现的…

    Java 2023年5月19日
    00
  • JVM(Java虚拟机)简介(动力节点Java学院整理)

    JVM简介 Java虚拟机(Java Virtual Machine, JVM)是一种可以在不同平台上运行Java字节码的虚拟计算机。它是Java技术最核心的一个部分,也是Java的跨平台特性的体现。 JVM体系结构 JVM主要由以下三部分构成: 类加载器 (Class Loader):负责将.class文件加载到内存,生成Java类,并在内存中生成对应的C…

    Java 2023年5月24日
    00
  • Java Scala数据类型与变量常量及类和对象超详细讲解

    Java Scala数据类型与变量常量及类和对象超详细讲解 一、Java Scala数据类型 在Java Scala中,数据类型主要分为以下几种: 基本数据类型:包括整型、浮点型、布尔型和字符型等。 数组类型:包括一维数组和多维数组。 引用数据类型:包括类类型、接口类型、枚举类型和数组类型等。 下面我们分别对每种数据类型进行详细讲解: 1.1 基本数据类型 …

    Java 2023年5月26日
    00
  • SpringBoot整合mybatis简单案例过程解析

    下面是Spring Boot整合MyBatis的攻略过程,包含两条示例: 一、创建Spring Boot项目 首先,我们需要创建一个Spring Boot项目,可以使用IDEA直接创建,也可以使用Spring Initializr创建。 使用Spring Initializr创建项目时,需要勾选Web、MyBatis和MySQL等必要的依赖。创建完成后,项目…

    Java 2023年5月20日
    00
  • java中流的使用

    Java中流(Stream)是一种I/O操作的方式,允许我们按照字节或者字符的方式读/写数据。使用流的好处在于不需要将整个文件读入内存中进行操作,而是可以逐个字节或者逐个字符的处理数据,更加高效和灵活。 流的分类 Java中的流分为输入流和输出流两种基本类型。其中,输入流用于读取数据,输出流用于写数据。 输入流 输入流用于读取数据,可以分为字节输入流和字符输…

    Java 2023年5月26日
    00
  • Java集合之Map接口的实现类精解

    Java集合之Map接口的实现类精解 Map是Java集合框架中的一个接口,它提供了一种将键值映射到值的集合,每个键最多只能映射到一个值。常见的实现类有HashMap、TreeMap、LinkedHashMap等。在本篇文章中,我们将详细讲解Map接口及其实现类的特点、使用方法和示例。 Map接口特点 Map接口是用于存储“键-值”对的集合,其中的键和值都是…

    Java 2023年5月19日
    00
  • java实现构造无限层级树形菜单

    Java实现构造无限层级树形菜单的攻略 背景 在Web开发中,经常会用到树形菜单,这种菜单常常存在多级目录结构,是一种比较典型和重要的web组件。如何实现树形菜单呢? 算法 实现树形菜单的算法其实比较简单,一般情况下采用递归的方式实现。基本思路是:先找到父节点,再找到其下面的子节点,然后再利用递归进行处理,以此达到构造完整的树形结构。 代码示例 下面给出一个…

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