2009-12-24 63 views
1

我正在使用Struts2。當我通過表單發送「特殊」字符(如ä或ã)時,接收它的動作會以不同的方式顯示這些字符(如Ã+一個小方形)。我知道我有一個編碼問題,但我無法找到可以爲Struts2配置請求編碼的位置。Struts2請求字符編碼

任何人都可以幫我嗎?

最好的問候,

尼爾斯

回答

2

回答我的問題:

鏈接應該永遠是URL編碼。 s:url編碼設置爲true似乎不能正常工作(或誤用?但我懷疑),它適用於舊的好c:url。

4

你應該使用字符編碼過濾器。在struts過濾器操作之前,只需在web.xml中添加一個過濾器即可。見下面

<filter> 
    <filter-name>CharacterEncodingFilter</filter-name> 
    <filter-class>your.pkg.CharacterEncodingFilter</filter-class> 
</filter> 

<filter> 
    <filter-name>struts2</filter-name> 
    <filter-class>org.apache.struts2.dispatcher.FilterDispatcher</filter-class> 
</filter> 

<filter-mapping> 
    <filter-name>CharacterEncodingFilter</filter-name> 
    <url-pattern>*.action</url-pattern> 
</filter-mapping> 

<filter-mapping> 
    <filter-name>struts2</filter-name> 
    <url-pattern>*.action</url-pattern> 
</filter-mapping> 

只需在您的編碼過濾器中輸入您的代碼爲字符編碼「UTF-8」。 我也用UTF-8添加了標題頁編碼。

這就解決了這個問題。我也曾經遇到過這個問題。

相關問題