web.xml中加入:
<filter> <filter-name>SetCharacterEncoding</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>big5</param-value> </init-param> </filter>
<filter-mapping> <filter-name>SetCharacterEncoding</filter-name> <url-pattern>*.jsp</url-pattern> </filter-mapping>
*-servlet.xml中加入:
<bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver"> <property name="viewClass"> <value>org.springframework.web.servlet.view.JstlView</value> </property> <property name="prefix"> <value>/WEB-INF/JSP/</value> </property> <property name="suffix"> <value>.jsp</value> </property> <property name="contentType"> <value>text/html;charset=big5</value> </property> </bean>
*.jsp文件中添加:
<% @page contentType="text/html;charset=big5"%>
<meta http-equiv="Content-Type" content="text/html; charset=big5">
注:当时我采取以上办法,却仍未能完全解决乱码问题,因为我用的類是extends SimpleFormController,我猜測是在Person person = (Person) cmd;時就已亂碼,經測試果然如此,於是,在其後加了一個處理,person.setPname(new String(person.getPname().getBytes(),"big5"));就可以正確的存入繁體中文~~~