Spring MVC:在 中使用通配符

2024-03-04

我正在为 Spring MVC 应用程序实现一个缓存清除系统。

为了让这个系统正常工作,我必须从给定的 URL 中删除“缓存清除代码”。假设我生成的缓存清除代码是“123”,并且我有一个 .css 网址:/public-123/css/style.css。在这个例子中,我想要/public/css/style.css才能成功调用(-123必须剥离)。

这适用于我的“mvc-config.xml”上下文文件:

<mvc:resources mapping="/public-123/**" location="/public/" />

但我也愿意any缓存清除代码可以正常工作,即使它不是当前的代码。例如我也想/public-456/css/style.css到达 style.css 文件。

如果我尝试向映射添加另一个通配符:

<mvc:resources mapping="/public-*/**" location="/public/" />

这不起作用!我收到 404...

我如何指定“映射”属性,以便很好地管理“public-”部分之后的任何代码?


处理这个问题的一种方法是使用 Spring EL,如春季文档 http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/mvc.html#mvc-static-resources:

<mvc:resources mapping="/resources-#{applicationProps['application.version']}/**" location="/public-resources/"/>

您可以将“123”部分存储在属性文件中,这样它只设置一次。例如。通过属性占位符 http://static.springsource.org/spring/docs/3.0.x/spring-framework-reference/html/beans.html#beans-factory-placeholderconfigurer:

<context:property-placeholder location="classpath:myApp.properties"/>
<mvc:resources mapping="/resources-${cache.code}/**" location="/public-resources/"/>

这样做的优点是能够通过相同的属性值在 JSP 页面中读取此代码(以生成链接)。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Spring MVC:在 中使用通配符 的相关文章

随机推荐

  • 带 cookie 的 Testcafe 请求

    我试图在 testcafes API 中找到类似于 Cypress 请求的方法 柏 request https docs cypress io api commands request html Cookies会将任何 cookie 附加到
  • 如何计算图像数据集中 RGB 值的 3x3 协方差矩阵?

    我需要计算图像数据集中 RGB 值的协方差矩阵 然后将 Cholesky 分解应用于最终结果 RGB 值的协方差矩阵是 3x3 矩阵 M 其中 M i i 是通道 i 的方差 M i j 是通道 i 和 j 之间的协方差 最终结果应该是这样
  • 输入一个条目会导致所有条目被写入 (Tkinter)

    我正在使用 Tkinter 创建一个带有 GUI 的数独求解器桌面应用程序 我遇到的问题是在输入板时 这是我正在使用的代码 N 9 input 0 for i in range N for j in range N for i in ran
  • 自动链接 html 字符串中的 URL 和图像

    嗨 我有一个像这样的字符串 p class video http vimeo 2342343 p p class image http nerto it logo png p p class text try to write p p cl
  • 如何清除WKWebView的WKBackForwardList?

    看来backForwardListWKWebView 的属性是只读的 但我见过人们使用一些非常神奇的东西来解决这个问题 我需要找出某种方法来清除 WKWebView 的历史记录 我有什么想法可以这样做吗 到目前为止 我已经尝试了一些失败的技
  • read.table 或 read.csv 上的列名称向左移动

    最初我有这个 TSV 文件 示例 name type qty cxfm 1C 0 d2 H50 2 g3g 1G 2 hb E37 1 nlx E45 4 所以我使用 read csv 从 tsv 文件读取数据 但我总是得到以下输出 nam
  • 使用 Websphere MQ 6 授权

    我在运行 Windows Server 2003 的虚拟机上安装了 IBM 的 WebSphere MQ 版本 6 的服务器端 该虚拟机位于 Vista 桌面上 桌面已安装客户端 我有一个小测试程序 来自他们的代码示例 它将一条消息放入队列
  • Javascript 和 AJAX,仅在使用alert()时有效

    我的 JavaScript 遇到问题 它的行为似乎很奇怪 这就是正在发生的事情 我有一个表单 在用户提交后 它调用一个函数 onsubmit 事件 来验证提交的数据 如果有问题或者用户名 电子邮件已经在数据库中 这部分使用 ajax 它将返
  • 获取JUnit 4中@Before中当前正在执行的@Test方法

    我想获取当前正在执行的测试方法 Before这样我就可以将注释应用于当前正在执行的方法 public class TestCaseExample Before public void setUp get current method her
  • 从 bash 调用 php 函数 - 带参数

    我有一个简单的func php文件与concat功能 我想用两个参数从 linux bash shell 调用这个函数 1st Hello 2nd World 并将输出 Hello World 打印到 linux bash shell 请告
  • Laravel 5 - 如何创建 Artisan 命令来执行 bash 脚本

    我想获得一个 artisan 命令来在执行时运行 bash 脚本 所以我使用以下命令创建了一个 artisan 命令 php artisan make command backupList command backup list 这是 ba
  • 保存时 VSCode Prettier 格式搞乱了格式

    在保存功能上使用 VSCode Prettier 格式已经有一段时间了 最近 Javascript 不断犯错误和格式错误 例如 const foo 123 save const foo 1 23 我暂时禁用了它 但是有什么办法可以防止这种情
  • 与泛型的模式匹配

    给定以下类模式匹配 clazz match case MyClass gt someMethod MyClass 是否可以根据模式匹配结果以通用方式引用 MyClass 例如 如果我有 MyClass 的多个子类 我可以编写一个简单的模式匹
  • 使用凭据将 I/O 文件写入共享网络驱动器

    我想将 txt 文件放到共享网络驱动器上 该路径是网络驱动器上的映射 需要凭据 登录名和密码 我可以使用 FileOutputStream 传递这些参数吗 FileOutputStream fos DataOutputStream dos
  • R 2.14.0 包检查中的描述导入顺序:和 NAMESPACE import()

    当我检查包时 我试图找出函数名称之间似乎存在冲突的地方 我最终可能会直接询问这个问题 但首先 我想知道三件事 R exts 中似乎没有提到这三件事 描述 导入和命名空间导入 中列出的包应该是相同的 对吧 在任一列表中 导入顺序重要吗 如果是
  • 将 Html 表转换为数据表的最佳方法是什么

    我有一个 html 表 我想将其转换为数据表 这样做的最佳方法是什么 谢谢 不要自己解析 HTML 有解析库可以为您做到这一点 再加上HTML 敏捷包 http html agility pack net z codeplex和 LINQ
  • Fusion Table 和 Google 服务帐户

    我正在尝试使用 Google 服务帐户从我的 AppENGine Java 应用程序访问 Fusion 表 此代码片段用于获取 OAuth 访问令牌 ArrayList
  • 通过交替行组进行 SQL 分区

    我有一个类似这样的数据表 Key LotId TransactionType Quantity Destination 1 A Transform NULL Foo 2 A Transform NULL Bar 3 A Consume 10
  • 从 PHP 执行 Perl 脚本时出现问题

    试图弄清楚这一点 我正在尝试使用 shell exec 在 php 中执行 perl 脚本 如下所示 它不会使用 gt filename txt 将输出写入文件 如果我执行而不将其定向到文件名 它将起作用 因为我可以使用 echo 确认这一
  • Spring MVC:在 中使用通配符

    我正在为 Spring MVC 应用程序实现一个缓存清除系统 为了让这个系统正常工作 我必须从给定的 URL 中删除 缓存清除代码 假设我生成的缓存清除代码是 123 并且我有一个 css 网址 public 123 css style c