struts2 和 ww2 内部带有一个编码器

ecside的 filter 包含编码功能, 会自动将 ajax请求的编码设置为UTF-8

但是到了 struts2 和 ww2 之后,他俩又把编码改成了普通请求所对应的编码.

解决办法有两个 一个是改struts和ww的配置文件或默认编码,这种做法显然不好.
不应该让应用来迁就ecside

另一个方案是 使得 ecside对ajax请求设置完编码后, struts无法再改变这个编码.
这里可以利用一个小技巧:
在ecside的filter内,执行
request.setCharacterEncoding(encoding);
之后
执行一次 request.getParameter('__');

这样就可以了.

明天我发个新ecside filter, 这样大家就可以把 useAjax设置成 true了.

===============================
对不住各位了, 如果我肯早一点拿出一点点时间来看一下struts2 的东东 也许这个问题早就解决了.
评论
lunch 2007-11-12
对啊,你默认就用UTF-8不就没事了,一直用UTF-8没啥事
shim 2007-11-07
To fins:
遇到另一个问题,就是在添加栏中有多个动态下拉菜单存在时,当选择第一下拉菜单后,选择第二,想再回来更改选择第一个时,此时就不行了。
还有,添加时如果多个下拉菜单,提交时也有问题。
dmewy 2007-11-07
搞开发不用UTF-8不知道在想什么呢!
cats_tiger 2007-11-06
本来就用utf-8,所以没有发现不好用。
fins 2007-11-06
晕 才发现, 我已经做了类似处理了

ecside不用修改.

只是要把 ecside的 filter 放到 struts2 和 ww2的filter前面

请各位不好用的同学试验一下

要是还不行 那么再短我 谢谢大家了
fins 2007-11-06
不行啊
因为ajax请求 提交的数据只能是utf-8 这个你可以google一下
sorphi 2007-11-06
>>ajax请求的编码设置为UTF-8

为什么ajax请求必须设置为utf-8? 不能根据当前页面编码来决定么?

"<?xml version=\"1.0\" encoding=\"" + getEcoding() + "\"?>"
shenxuguipohun 2007-11-06
谢谢fins,这下就方便ssh+ecside了~~呵呵~
zhanghui 2007-11-06
useAjax设置成 true可以了吗,改好的版在那里
发表评论

提醒: 该博客已发表在公共论坛,博客所有留言会成为论坛回贴,留言请注意遵守论坛发贴规则

您还没有登录,请登录后发表评论

fins
  • 浏览: 743342 次
  • 性别: Icon_minigender_1
  • 来自: 小胖儿的大城
  • 详细资料
搜索本博客
我的相册
89757367-bcf7-3449-ae1d-31a5a2021dd7-thumb
customHead
共 76 张
其他分类
存档
最新评论