孤岛旭日
2008-08-30 07:45
浏览 293
已采纳

struts2中URL与Action间的传值问题

如果URL为:……/adminGLZF!update.action?adminId=2&errorLog=%E4%B8%80
时在eclipse调试跟踪action中errorLog的值为:"errorLog"= "一"
如果URL中的errorLog跟的是英文action中的errorLog就正常的。
我的项目和jsp页面都是UTF8的

代码如下:

jsp页面
[code="html"][/code]

action
[code="java"]
public String getErrorLog() {
return errorLog;
}
//在URL为……/adminGLZF!update.action?adminId=2&errorLog=%E4%B8%80时刷新页面会先调用这个方法,其中errorLog就为 "一"了
public void setErrorLog(String errorLog) throws UnsupportedEncodingException {
this.errorLog = errorLog;
}
[/code]

struts.xml
[code="xml"]
adminGLZF!update?adminId=${adminId}&errorLog=${errorLog}

[/code]
[b]问题补充:[/b]
哦,谢谢,但要是服务器上的tomcat不支持uft8的话我又不能去改服务器上的server.xml,那要如何做呀?

  • 写回答
  • 好问题 提建议
  • 追加酬金
  • 关注问题
  • 收藏
  • 邀请回答

2条回答 默认 最新

  • qdzheng 2008-08-31 10:20
    已采纳

    那就只好自己转码了,但是不建议这样做。因为Tomcat有这样的问题,别的容器就不一定了,比如,resin下面就不存在这种问题。
    GET方法的参数是iso-8859-1编码的,可以这样:
    [code="java"]
    ...
    byte[] b=para.getBytes("iso-8859-1");
    String bstr=new String(b,"utf-8");
    ...
    [/code]

    评论
    解决 无用
    打赏 举报
查看更多回答(1条)

相关推荐 更多相似问题