9
我在SpringMVC控制器中遇到了@PathVariable問題。每當我傳遞包含加號('+')的字符串時,加號會被空格替換。對參數編碼不起作用。SpringMVC:包含加號(+)字符的@PathVariable值
因此,例如,如果我請求url myapp/resend-validation/[email protected],我會在我的email
變量中獲得「my [email protected]」。請求後,同樣的情況myapp/resend-validation/my%[email protected]
我的控制器看起來是這樣的:
@RequestMapping(value = "/resend-validation/{email:.+}")
public String resendValidation(@PathVariable String email, HttpServletRequest request, Model model) {
//controller code here
}
(在@ RequestMapping價值的正規表示法是因爲在電子郵件中的點地址,否則,數值被截斷後點。它不影響我的問題)
在此先感謝您的任何幫助。
您使用的是什麼版本的Spring?我無法在'3.2.6.RELEASE'中重現這一點。當我請求'myapp/resend-validation/my + mail @ gmail.com'時,我在電子郵件變量(無空格)中獲得了'my + mail @ gmail.com' –
我無法用4.0.0+ 。適用於3.0.5。 –
我們在Spring 3.1.3上。我會嘗試測試其他版本,並提供一些我們可能使用的特殊配置。感謝您的反饋。 – Kejml