0

我們遇到了一個問題,即通過@PathVariable或通過中等負載下的綁定接收的值將分配給錯誤的變量。Spring未正確映射@pathVariables到正確的變量

爲了做這些測試,我們總是碰到相同的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 is dropping a @PathVariable

回答

1

事實證明,我們實施了一個StringTrimmerEditor錯誤,它不是線程安全的。