`

找到ECSide在struts2 和webwork2下不好用的原因了

阅读更多
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 的东东 也许这个问题早就解决了.

分享到:
评论
10 楼 kaki 2012-03-05  
现在还感觉很好用,期待更新一个版本。
9 楼 lunch 2007-11-12  
对啊,你默认就用UTF-8不就没事了,一直用UTF-8没啥事
8 楼 shim 2007-11-07  
To fins:
  遇到另一个问题,就是在添加栏中有多个动态下拉菜单存在时,当选择第一下拉菜单后,选择第二,想再回来更改选择第一个时,此时就不行了。
   还有,添加时如果多个下拉菜单,提交时也有问题。
7 楼 dmewy 2007-11-07  
搞开发不用UTF-8不知道在想什么呢!
6 楼 cats_tiger 2007-11-06  
本来就用utf-8,所以没有发现不好用。
5 楼 fins 2007-11-06  
晕 才发现, 我已经做了类似处理了

ecside不用修改.

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

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

要是还不行 那么再短我 谢谢大家了

4 楼 fins 2007-11-06  
不行啊
因为ajax请求 提交的数据只能是utf-8 这个你可以google一下
3 楼 sorphi 2007-11-06  
>>ajax请求的编码设置为UTF-8

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

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

相关推荐

    struts2与webwork2

    - **包结构**:Struts2对WebWork2的包结构进行了重新组织,将其纳入到Struts的命名空间下,这不仅仅是简单的名称更改,更是为了统一框架内部结构,便于开发者理解和使用。 - **社区与生态**:Struts2凭借其更广泛的...

    Struts2-Webwork2-DWR

    Struts2、Webwork2 和 DWR 是三个在 Web 开发领域中至关重要的技术,尤其在构建企业级的 WEB2.0 应用程序时。接下来,我们将详细探讨这三个技术的核心概念、工作原理以及它们之间的关系。 **Struts2** 是一个基于 ...

    struts2建立流程

    Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理...

    struts2+webwork+spring.rar

    Struts2、WebWork和Spring是Java Web开发中三个非常重要的框架,它们各自在不同的层面上解决了应用程序的架构问题。这个"struts2+webwork+spring.rar"压缩包文件很可能是提供了一个整合这三个框架的示例项目或者教程...

    struts1,struts2,webwork,线程安全问题

    综上所述,Struts1、Struts2和WebWork这三个框架都面临着线程安全问题,但在Struts2中这个问题得到了较好的解决。Struts2通过使用“prototype”作用域管理`Action`实例,有效地避免了线程安全问题。而对于Struts1和...

    struts2对webwork的改进

    Struts2是对WebWork框架的重大升级和改进,它在保留WebWork强大特性的基础上,引入了更多优化和新特性,使得整个框架更加灵活且易于使用。以下将详细阐述Struts2对WebWork的改进点: 1. **配置文件的多样化**: 在...

    Struts2和Webwork远程命令执行漏洞分析1

    Struts2和Webwork远程命令执行漏洞主要源于Apache Struts2框架中的一个设计缺陷,该框架使用OGNL(Object-Graph Navigation Language)表达式来处理用户输入,这为恶意攻击者提供了可乘之机。该漏洞发生在Struts2的...

    Struts 2 技术详解:基于WebWork核心的MVC开发与实践

    Struts 2 的核心技术基础是WebWork,它在Struts 1的基础上进行了许多改进,如更强大的表达式语言(OGNL)、拦截器机制、更简单的配置等。WebWork的这些特性被集成到Struts 2中,使得Struts 2成为了一个高效且易用的...

    struts2的教程,struts2整合了struts1+webwork.基于MVC的Framework

    struts2的教程,struts2整合了struts1+webwork.基于MVC的Framework struts2的教程,struts2整合了struts1+webwork.基于MVC的Framework

    struts2开发入门以及webWork开发入门文档

    - `webwork2开发指南.pdf`则是针对WebWork框架的指导手册,帮助理解WebWork的设计原理和用法。 通过以上文档,你可以系统地学习Struts2和WebWork的基本概念、核心组件以及实际应用。在掌握这两个框架的基础上,...

    [Struts 2权威指南--基于WebWork核心的MVC开发(高清完整版) 1/12

    第1章 Struts 2概述,第2章 Struts 2下的HelloWorld,第3章 Struts 2基础,第4章 深入Struts 2,第5章 Struts 2的类型转换,第6章 文件的上传和下载.,第7章 Struts 2的拦截器,第8章 Struts 2的输入校验,9.2 ...

    struts2中文学习文档

    从给定的文件信息来看,标题“struts2中文学习文档”和描述“struts2的根本webwork2”表明这是一份关于Struts2框架的学习资料,特别强调了Struts2与WebWork2的关系。Struts2是Apache Struts的一个版本,它是一个用于...

    struts2JAR包

    Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理...

    Struts2V3.0-(中文)参考手册

    Struts 2中文参考手册,Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,...

    struts2必须jar包

    Struts 2是Struts的下一代产品,是在 struts 1和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理...

    Struts2 WebWork的更新产品

    Struts 2以WebWork为核心,采用拦截器的机制来处理用户的请求,这样的设计也使得业务逻辑控制器能够与Servlet API完全脱离开,所以Struts 2可以理解为WebWork的更新产品

    Struts2工作流程图

    Struts 2 与Struts 1相比,确实有很多革命性的改进,但它并不是新发布的新框架,而是在另一个赫赫有名的框架:WebWork基础上发展起来的。从某种程度上来讲,Struts2没有继承Struts 1的血统,而是继承WebWork的血统。...

    Struts 2中文帮助文档

    Struts 2是Struts的下一代产品,是在 struts 和WebWork的技术基础上进行了合并的全新的Struts 2框架。其全新的Struts 2的体系结构与Struts 1的体系结构的差别巨大。Struts 2以WebWork为核心,采用拦截器的机制来处理...

    Struts 2 began as WebWork.

    Ajax允许在不刷新整个页面的情况下更新部分内容,与Struts 2的Action和拦截器配合使用,可以创建高度动态的Web应用。 - **Adam.Bien.Real.World.Java.EE.Patterns.Jun.2009.pdf**:这本书可能探讨了Java企业版...

    STRUTS和WEBWORK在VALIDATE的区别

    STRUTS和WebWork都是Java Web开发中的两个著名框架,它们在处理表单验证(VALIDATE)时有各自的特点和差异。这篇博文将探讨这两者在验证机制上的区别,帮助开发者更好地理解它们的工作原理和适用场景。 STRUTS是...

Global site tag (gtag.js) - Google Analytics