這個問題是2.1.6里的BUG,在2.1.8的時候解決了,文本框里的中文能正常提交:不過url中的param提交的是UTF-8編碼,中文是UTF-8編碼,英文還是英文。
<s:url id="del" value="editView.action">
<s:param name="name">
<s:property value="name" /> ///這里會提交UTF-8編碼
</s:param>
</s:url>
記得以前好像寫過,不過不知道放哪里,今天用struts2.1.8+spring+hibernate做開發(fā)時,又遇到這個問題,寫出來吧,下次好找:
頁面編碼設(shè)置成UTF-8,如何提交的中文為”青云山“,提交到action里變成了:
38738其實(shí)就是UTF-8編碼,自己寫了一個類進(jìn)行轉(zhuǎn)化一個就行了。
使用時,在action中,可能有中文提交的地方轉(zhuǎn)化一下就行了。
MyConverter my = MyConverter.getMyConverter();
this.userName = my.converter(this.userName);
天蒼蒼,野茫茫,風(fēng)吹草底見牛羊
<s:url id="del" value="editView.action">
<s:param name="name">
<s:property value="name" /> ///這里會提交UTF-8編碼
</s:param>
</s:url>
記得以前好像寫過,不過不知道放哪里,今天用struts2.1.8+spring+hibernate做開發(fā)時,又遇到這個問題,寫出來吧,下次好找:
頁面編碼設(shè)置成UTF-8,如何提交的中文為”青云山“,提交到action里變成了:

public class MyConverter {
private static MyConverter myConverter;
private StringBuffer str;
private char[] ch;
private MyConverter() {
}
public static MyConverter getMyConverter() {
if (myConverter == null) {
myConverter = new MyConverter();
}
return myConverter;
}
public String converter(String str3) {
if(str3==null){
return "";
}
str=new StringBuffer();
str.append("");
ch=str3.toCharArray();
for (int i = 0; i < ch.length; i++) {
if(ch[i]=='&'){
if(ch[i+1]=='#')
{
str.append(Character.toChars(Integer.parseInt(new String(ch,i+2,5))));
i+=7;
}
else{
str.append(ch[i]);
}
}
else{
str.append(ch[i]);
}
}
return str.toString();
}
}
private static MyConverter myConverter;
private StringBuffer str;
private char[] ch;
private MyConverter() {
}
public static MyConverter getMyConverter() {
if (myConverter == null) {
myConverter = new MyConverter();
}
return myConverter;
}
public String converter(String str3) {
if(str3==null){
return "";
}
str=new StringBuffer();
str.append("");
ch=str3.toCharArray();
for (int i = 0; i < ch.length; i++) {
if(ch[i]=='&'){
if(ch[i+1]=='#')
{
str.append(Character.toChars(Integer.parseInt(new String(ch,i+2,5))));
i+=7;
}
else{
str.append(ch[i]);
}
}
else{
str.append(ch[i]);
}
}
return str.toString();
}
}
使用時,在action中,可能有中文提交的地方轉(zhuǎn)化一下就行了。
MyConverter my = MyConverter.getMyConverter();
this.userName = my.converter(this.userName);
天蒼蒼,野茫茫,風(fēng)吹草底見牛羊