gpt4 book ai didi

spring-mvc - Spring MVC : using wildcards in

转载 作者:行者123 更新时间:2023-12-02 05:07:42 26 4
gpt4 key购买 nike

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

为了让这个系统正常工作,我必须从给定的 url 中删除“缓存破坏代码”。假设我生成的缓存破坏代码是“123”,我有一个 .css url:/public-123/css/style.css。在这个例子中,我希望成功调用/public/css/style.css(必须去除-123)。

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

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

但我也希望任何缓存破坏代码都能工作,即使它不是当前代码。例如,我还希望 /public-456/css/style.css 访问 style.css 文件。

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

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

没用!我收到 404....

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

最佳答案

处理此问题的一种方法是使用 Spring EL,如 Spring docs 中所示:

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

您可能会将“123”部分存储在属性文件中,这样它只会被设置一次。例如。通过property-placeholder :

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

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

关于spring-mvc - Spring MVC : using wildcards in <mvc:resources>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9202916/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com