我们遇到了一个问题,即我们通过@PathVariable 或在中等负载下通过绑定获取的值被分配给错误的变量。
为了进行这些测试,我们总是访问相同的 URL。每次点击 URL 都会慢慢产生正确的结果。
我们正在使用 Spring 3.0.5.RELEASE 但已经累到 3.1.2.RELEASE 并且仍然存在问题。我们看不到最近发生的任何其他变化,而且我们已经将这些服务投入生产一年多了,而且他们似乎最近才开始推出这些服务。
绑定代码示例:
@RequestMapping(value = "config/selectItem")
public ModelAndView selectItem(@Valid selectItemCommand command, BindingResult bindResults) {
if (!"test".equals(command.getName())
{
//Fails into here
int i =0;
}
}
路径变量的代码示例:
@RequestMapping(value = "config/selectItem/{name}",method = RequestMethod.GET)
public ModelAndView selectItem(@PathVariable("name") String name)
{
if (!"test".equals(name))
{
//Fails into here
int i = 0;
}
}
我在参数列表中添加了一个 HttpServletRequest 请求,并且它显示的 URL 具有正确的值。
我完全忘记了,但我们大约在一年前就提出了这个问题,当时我已经提交了一张票,当时我认为已经解决了它,但没有解决。 Spring MVC 正在删除 @PathVariable