这是spring MVC@pathvariable被截断问题的继续
spring论坛声明,它已经修复(3.2版本)作为ContentNegotiationManager的一部分。请参阅以下链接。
https://jira.springsource.org/browse/spr-6164
https://jira.springsource.org/browse/spr-7632
在我的应用程序中,requestParameter with.com被截断。
谁能给我解释一下如何使用这个新功能吗?如何在XML中进行配置?
注:spring论坛-#1 spring MVC@PathVariable带点(.)正在被截断
除了Martin Frey的答案之外,还可以通过在RequestMapping值中添加一个尾随斜杠来修复这个问题:
/path/{variable}/
请记住,此修复程序不支持可维护性。它现在要求所有URI都有一个尾随斜杠--这对于API用户/新开发人员来说可能并不明显。由于可能不是所有参数中都包含.
,因此可能还会产生间歇性错误
如果您使用的是spring 3.2.x和
,请创建这个小的BeanPostProcessor
:
package spring;
public final class DoNotTruncateMyUrls implements BeanPostProcessor {
@Override
public Object postProcessBeforeInitialization(Object bean, String beanName) throws BeansException {
if (bean instanceof RequestMappingHandlerMapping) {
((RequestMappingHandlerMapping)bean).setUseSuffixPatternMatch(false);
}
return bean;
}
@Override
public Object postProcessAfterInitialization(Object bean, String beanName) throws BeansException {
return bean;
}
}
然后将其放入MVC配置XML中:
<bean class="spring.DoNotTruncateMyUrls" />
据我所知,这个问题只出现在RequestMapping末尾的pathvariable。
我们可以通过在RequestMapping中定义regex addon来解决这个问题。
/somepath/{variable:.+}
问题内容: 这是问题 Spring MVC @PathVariable被截断的继续 Spring论坛指出,它已作为ContentNegotiationManager的一部分进行了修复(3.2版)。请参阅下面的链接。 https://jira.springsource.org/browse/SPR-6164 https://jira.springsource.org/browse/SPR-7632
问题内容: Spring论坛指出,它已作为ContentNegotiationManager的一部分进行了修复(3.2版)。请参阅下面的链接。 https://jira.springsource.org/browse/SPR-6164 https://jira.springsource.org/browse/SPR-7632 在我的应用程序中,带有.com的requestParameter被截断了
问题内容: 我有一个控制器,可提供对信息的RESTful访问: 我遇到的问题是,如果我使用带有特殊字符的路径变量访问服务器,则会被截断。例如: http:// localhost:8080 / blah-server / blah / get / blah2010.08.19-02:25:47 参数blahName将为blah2010.08 但是,对request.getRequestURI()的
我用下面的代码创建了一个JFreeChart,但是y轴标记被截断了。即使数据点在y轴上重叠,我应该如何显示图表?基本上,我希望Y轴点从我的文件生成,一个适当的范围是填充和显示在图表中。 下面是创建的图像,很明显你可以看到Y轴有一个重叠显示。
我必须在SpringBoot应用程序中使用@PathValiable从URL获取参数。这些参数通常有斜线。我没有一个关于用户将输入URL的控制,所以我想要得到他输入的内容,然后我可以处理它。 我已经看过了这里的资料和答案,我不认为对我来说,好的解决方案是要求用户以某种方式编码输入参数。
SpringMVC控制器中@PathVariable有问题。每当我传递包含plus('+')的字符串时,plus就会被空格替换。对参数进行编码没有帮助。 例如,如果我请求url myapp/resend-validation/my+mail@gmail.com,我在变量中得到“mymail@gmail.com”。在请求myapp/resend-validation/my%2bmail@gmail.