Struts 中文問題排除
目前除了一個一個參數轉碼外,想要省功夫的作法有以下二種
1.實作一個servlet filter攔截Action 並設定request.setCharacterEncoding(“big5”); 這樣所有進來都會先調整編碼
2.實作一個Struts的controller 在其中調整語系編碼即可,以下在JavaWorld的文章有不錯的範例程式可參考
http://www.javaworld.com.tw/jute/post/view?bid=11&id=35142&tpg=1&ppg=1&sty=1&age=0#35142
不過如果案子一多,不同語系在處理上就很麻煩,所以小弟再調整了一下將charset參數抽出來放到web.xml裡
從web.xml就可以設定語系參數為何,這樣就可以依照案子的需要調整語系
以下是程式的調整,為了取得web.xml 的參數值,所以使用了ServletContext ,因為在實作的controller只有 request
所以從request 取出的session就可以再叫出servletContext了,用法如下:
而在web.xml就要設定
<param-name>charset</param-name>
<param-value>UTF-8</param-value>
</context-param>
再來就是在struts-config.xml之中,設定好使用剛實作出來的controller 即可解決中文問題
近期留言