2012-02-16 49 views
0

我正在使用spring mvc。我用希伯來語寫作,所以在我的jsp形式中,我要求用戶用希伯來語給出他的名字。這裏是形式:spring mvc charset

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

你需要做這樣的事情

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

+0

確保它是第一個過濾器 – 2016-04-13 12:54:34