如果路径变量包含特殊字符,则Spring抛出异常。我尝试了以下解决方案: -
<filter>
<filter-name>encodingFilter</filter-name>
<filter-class>org.springframework.web.filter.CharacterEncodingFilter </filter-class>
<init-param>
<param-name>encoding</param-name>
<param-value>UTF-8</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
但即便这样做后我也无法解决问题。我有url-pattern / editMode / *。但即使改变了url模式,它仍然可以工作。 我也使用backbone1.1.2框架作为前端,内部使用encodeURIComponent但仍然存在问题。
答案 0 :(得分:0)
尝试对路径变量进行url编码,如下所示:
localhost/editMode?var=example%23
如果你想发送变量'example#'
如果在服务器端创建这些URL,则可以使用实用程序类对它们进行URL编码。示例:URLEncoder
答案 1 :(得分:0)
因为我正在使用骨干框架所以我已经覆盖了url形成功能。在encodeURIComponent的帮助下,我能够对名称进行编码,并且spring会自动解码名称。现在一切都很完美:)。 感谢Kuurde和M.Deinum指出我正确的方向。