gpt4 book ai didi

java - 来自 @PathVariable Java Spring 的不完整文本

转载 作者:太空宇宙 更新时间:2023-11-04 06:12:18 24 4
gpt4 key购买 nike

我正在尝试使用以下方式将 ID 发送到我的 Controller :

<a href="/host/admin/sensor/downloadCSV/${sensor.id}" class="btn btn-primary"> Export CSV</a>

${sensor.id}变量的内容为:testApp_provider.osom_component2.RT3

在我的 Controller 中,我得到它:

@RequestMapping("/downloadCSV/{sensorId}")
public ModelAndView handleRequestInternal(HttpServletResponse response, @PathVariable final String sensorId) throws IOException {
System.out.println("sensor:"+sensorId);
return null;
}

但是 println 的输出是:

传感器:testApp_provider.osom_component2

我丢失了最后一部分:.RT3

有什么想法吗?

最佳答案

您需要将其更改为,

@RequestMapping("/downloadCSV/{sensorId:.+}")
public ModelAndView handleRequestInternal(HttpServletResponse response, @PathVariable final String sensorId) throws IOException {
System.out.println("sensor:"+sensorId);
return null;
}

由于最后一个点后面的所有内容都是 Spring 的文件扩展名,因此默认情况下会截断它。

另一个全局解决方案是在注册 RequestMappingHandlerMapping 时将 useRegisteredSuffixPatternMatch 属性设置为 false

更简洁的方法是在末尾添加尾随 / 斜杠

@RequestMapping("/downloadCSV/{sensorId}/")

关于java - 来自 @PathVariable Java Spring 的不完整文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28549696/

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