我有一个使用Spring MVC 3.0的应用程序。 控制器的配置如下:
@RequestMapping(value = "/update", method = RequestMethod.POST)
public ModelAndView updateValues(
@RequestParam("einvoiceId") String id){
...}
当发布包含特殊字符的ID(在本例中为管道符|)时,使用UTF-8进行URL编码(id=000025D26A01%7C2014174),字符串ID将包含%7C。我希望spring-mvc对参数进行URL解码。我知道我可以通过使用
来解决这个问题。java.net.URLDecoder.decode()
但是由于我有大量的控制器,我希望框架可以自动完成这个任务。我已经使用URIEncoding="UTF-8"
配置了Tomcat连接器,并配置了一个CharacterEncodingFilter
,但据我所知,这只会影响GET请求。你有什么想法可以让spring-mvc解码我的POST参数吗?
org.springframework.web.filter.CharacterEncodingFilter
。它所做的只是request.setCharacterEncoding
。我的请求已经有了 UTF-8,但它无法将特殊字符转换为 %7C。 - jakobklamra