gpt4 book ai didi

spring-mvc - Spring MVC 获取包含点和斜杠的 PathVariables

转载 作者:行者123 更新时间:2023-12-03 11:17:36 25 4
gpt4 key购买 nike

我想匹配 http://host/10.39284/LKJF283/23332/dd 形式的 URL(其中路径总是以 10 开头,其余部分是点的组合、斜线、字母和数字)并将 10. 之后的所有内容(包括 10.)存储到 PathVariable 中。

我在想我可以用这样的正则表达式来做到这一点:

@RequestMapping(value="/{key:10\.+}", method=RequestMethod.GET)
public String summary(@PathVariable String key, Model model) {
}

但这给了我一个错误,提示“无效的转义序列”。知道如何实现吗?

最佳答案

这就是我让它工作的方式。据我所知,Spring 无法处理 URL 中不打算用作路径分隔符的斜线。所以,我改用在这里找到的 url 重写过滤器:http://www.tuckey.org/urlrewrite/ .

我在我的 web.xml 中启用了它

<filter>
<filter-name>UrlRewriteFilter</filter-name>
<filter-class>org.tuckey.web.filters.urlrewrite.UrlRewriteFilter</filter-class>
</filter>
<filter-mapping>
<filter-name>UrlRewriteFilter</filter-name>
<url-pattern>/*</url-pattern>
<dispatcher>REQUEST</dispatcher>
<dispatcher>FORWARD</dispatcher>
</filter-mapping>

然后将其添加到我的 WEB-INF/urlrewrite.xml

<urlrewrite>
<rule>
<from>^/(10\..*)$</from>
<to>/keysummary?key=$1</to>
</rule>
</urlrewrite>

然后像这样写了我的 Controller

@RequestMapping(value="/keysummary", method=RequestMethod.GET)
public String DOISummary(@RequestParam("key") String key, Model model) {
}

关于spring-mvc - Spring MVC 获取包含点和斜杠的 PathVariables,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12516969/

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