2011-08-14 37 views
2

我試圖用jsp創建一個struts2組件,並且我在這兩個jsp頁面中都使用了UTF-8標頭,但最終的結果是我看到那些標誌已損壞。如果我將UTF-8更改爲GBK,那就沒關係,我想知道'UTF-8'不工作的原因,謝謝!支柱版本2.1.8Struts2組件破壞非英文字符(中文)

<%@ page contentType="text/html; charset=UTF-8" language="java" import="java.util.*" pageEncoding="UTF-8"%> 

<%@標籤庫URI = 「/支桿標籤」 前綴= 「S」 %>

componentTag.jsp

<s:component template="mytemplate.jsp"> 
    <s:param name="list" value="{'java程序設計','Ajax完全學習手冊','Struts2學習手冊'"> 
    </s:param> 
</s:component> 

mytemplate.jsp(/的WebRoot /模板/ XHTML)

<div style="background-color:#eeeeee;" > 
<b>JSP自定義模板</b><br/> 
圖書列表:<s:select list="parameters.list"></s:select> 
</div> 
+0

你試圖使用'<%@頁面的pageEncoding =「UTF-8 「contentType =」text/html; charset = utf-8「%>'in mytemplate.jsp?也是,你的項目源碼(文件本身,.jsp,.properties等)編碼爲utf-8? –

+1

是的,我做過了,這個問題已經解決了,需要設置JVM啓動參數-Dfile.encoding,我使用MyEclipse,我設置了JVM啓動參數-Dfile.encoding = utf-8,然後就可以了,並且感謝您的幫助(MyEclipse-> preferences) - >服務器 - >選擇你的版本,然後選擇JDK來設置啓動參數) – arron

回答

0

設定的-Dfile.encoding = UTF-8 M中的JVM引導參數yEclipse(MyEclipse->首選項 - >服務器 - >選擇您的版本,然後選擇JDK設置啓動參數)

+0

我也被卡在這個問題中,但是我用的是eclipse代替。請問如何在eclipse中設置參數? –

+0

今天才看見,找了下,servers view下有你新建的這個tomcat雙擊會出現一個視圖設置,然後有個左上方open launch configuration點擊彈出的框裏面的參數選項卡應該就是了 – arron

0

,你可以嘗試這些如果沒有在指定的支柱添加到您的struts.xml

struts.locale=zh_CN 
struts.i18n.encoding=UTF-8 

.xml或struts.properties 的struts2會挑你的平臺的編碼(寡婦它默認GBK)

很高興遇見你

+0

Thank you!(試過你這個了,但是沒起作用,我試過所有糾正編碼的方,只有改變了JVM的-Dfile.encoding參數後才起作用)也很高興遇見你啊,哈哈。 – arron