Spring MVC アプリケーションでユニコードを使用する必要があり、いくつかの問題に直面しました。jQuery $('.form').submit() を使用して非表示のフォームを Unicode で送信すると、Spring Controller にデータが送信され、"%D0%9C%D1%96%D0%B9%20%" のようになります。その結果、サーバー側で通常の文字列を処理および操作できません。私は何を間違えましたか?
私は次のフォームを持っています:
<form style="display: hidden" action="${contextPath}/somePage.htm" method="POST" class="form">
<input type="hidden" class="name" name="name" value=""/>
</form>
そしてスプリングコントローラー:
@RequestMapping(value = "/somePage", method = RequestMethod.POST)
public String showSomePage(@RequestParam("name") String name, Model model) {
}
私のweb.xmlで:
<filter>
<filter-name>encoding-filter</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>
<init-param>
<param-name>forceEncoding</param-name>
<param-value>true</param-value>
</init-param>
</filter>
<filter-mapping>
<filter-name>encoding-filter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
Tomcat の server.xml では:
<Connector URIEncoding="UTF-8" port="8080" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="8443" />