0

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" />
4

1 に答える 1