Spring Mvc Charset - PullRequest
       21

Spring Mvc Charset

0 голосов
/ 17 февраля 2012

Я использую пружинный MVC.Я пишу на иврите, поэтому в форме jsp я прошу пользователя назвать его имя на иврите.Вот форма:

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@taglib uri="http://www.springframework.org/tags/form" prefix="form"%>
<form:form method="post" action="registration-submit.html">
    אנא מלא את הפרטים הבאים בכדי להשלים את הרשמתך:
    <table>
        <tr>
            <td>שם:</td>
            <td><form:input path="name" type="text" id="nameInput"/></td>
        </tr>
        <tr>
            <td>סיסמא:</td>
            <td><form:input path="password" type="password" id="passwordInput"/></td>
        </tr>
        <tr>
            <td>וידוא סיסמא:</td>
            <td><input type="password" id="passwordVerifyInput"/></td>
        </tr>
        <tr>
            <td>דואר אלקטרוני:</td>
            <td><form:input path="email" type="text" id="emailInput"/></td>
        </tr>
        <tr>
            <td colspan="2">
                <input type="submit" value="הירשם"/>
            </td>
        </tr>
    </table>
</form:form>

Для registration-submit.html У меня есть контроллер:

@RequestMapping(value = "/registration-submit", method = RequestMethod.POST)
    public ModelAndView showRegistrationSubmitPage(
            @ModelAttribute("registrationForm") final RegistrationForm registrationForm,
            BindingResult result) {
                ...
                ...
}

Когда я добавляю registrationForm.name к часам, я вижу: × × × × ¨(нечитаемые символы) вместо имени на иврите.
Файл jsp сохраняется с кодировкой UTF-8.Почему я получаю нечитаемые символы из формы?Как мне установить кодировку весны?

Ответы [ 2 ]

2 голосов
/ 17 февраля 2012

Вам нужно сделать что-то вроде этого

 <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> 

 <init-param> 

    <param-name>forceEncoding</param-name> 

    <param-value>true</param-value> 

 </init-param> 

 <filter-name>encodingFilter</filter-name> 

<url-pattern>/*</url-pattern> 

2 голосов
/ 17 февраля 2012

Попробуйте зарегистрировать CharacterEncodingFilter в web.xml

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...