Struts2自带自动完成功能的问题

Struts2自带的自动完成功能,来自dojo。

对英文字母的自动完成没有问题。

但在IE7中输入中文,在服务器端成为乱码。

原因是:
  • 自动提交在dojo中默认使用GET请求
  • firefox对文本框中的文本,会进行编码再发送,比如输入内蒙,则编码为%E5%86%85,这在服务器端能正常解码处理
  • IE对文本框中的值,不做编码即发送,在服务器端无论使用utf-8还是GBK等,都会出现乱码,因为特殊字符在http的url编码中有特殊含义,这个问题,可参考我的另外一篇日志:http://marshal.javaeye.com/blog/149121
如何解决:
  • 可以修改struts代码中有关dojo部分的代码,将AJAX默认提交方式改为POST,可参考:http://hi.baidu.com/javaroad/blog/item/5c0a861e3da6d41d4134179d.html,情况类似
  • 使用第三方解决方案,我一般使用YUI的自动完成功能,理由是不想修改struts2的代码,这样影响以后的维护。
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值