在Struts2中我建立了一個簡單的表單,也就是大家熟知的"Say hello".
在s:textfield中輸入英文然后提交沒問題,但是輸入中文后提交,就變成亂碼.
在struts1.x中可以通過自定義的filter來進行設置轉換.但在struts2中如何設置呢?
期待能者解答..
已經解決了.
原來把JSP中的字符編碼設為UTF-8,再把整個工程的編碼設為UTF-8就可以了.
在tomcat5.5中已經好了.不知道其它的服務器怎么樣.
還以為需要在攔截器或filter中設置呢.
做項目都應該加上字符編碼的filter:
例如:(下面是用到spring里面的filter)
<!-- 用于解決請求編碼亂碼問題 -->
<filter>
<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>
<filter-mapping>
<filter-name>encodingFilter</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>