`
zenggang2008
  • 浏览: 30301 次
  • 性别: Icon_minigender_1
  • 来自: 南昌
社区版块
存档分类
最新评论

struts2的ajax表单验证bug,神都难救了!!!!!

    博客分类:
  • java
阅读更多
这两天很来气,原因就是struts2的ajax表单验证问题,我网上找了n久,我真是佩服了,同样的文章大家转来转去,或许就把书上的文章抄上去 ,切,是不是出现了个ajax的效果就急忙的喊着"开始神奇的ajax之旅了"?去你的,你知道不,无论是 < <struts2权威指南>>还是struts2官方给的 show-case例子,都是错误的!!
下面我就描叙下这个困扰了我两天的问题:
由于要实现ajax的验证,我在权威指南中找到了相关的例子,可是当我实际用上之后,问题出现了
这是书里的源码:
使用表单请求的返回值来填充本Form<br/>
<s:form id='theForm2'
        cssStyle="border: 1px solid black;"
        action='AjaxTest'
        method='post'
        theme="ajax">
    <s:textfield name='data' label="请输入您喜欢的图书"/>
    <s:submit value="修改Form本身" targets="theForm2"/>
</s:form>


不知道你实际运行过没有,这个例子是错误的!表单里的data数据根本就无法传递到action中去,

显示的效果是: 服务器提示:null


如果你还不信,你去看看show-case里的ajax表单验证的相同例子,一样返回是null!!!
然而,我对 < <指南>>里的例子稍作修改:
使用表单请求的返回值来填充本Form<br/>
<s:div id="mydiv">
<s:form id='theForm2'
        cssStyle="border: 1px solid black;"
        action='AjaxTest'
        method='post'
        theme="ajax">
    <s:textfield name='data' label="请输入您喜欢的图书"/>
    <s:submit value="修改Form本身" targets="mydiv"/>
</s:form>
</s:div>


并且,并且一定要在firefox里面,就能正确的显示出传递的data了!但在IE中还是为NULL

现在回到我的页面上,同样遇到相同的问题,如果我的form是嵌套在一个div里面,而且我是针对这个div进行局部刷新,
<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<%@taglib prefix="s" uri="/struts-tags"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>Insert title here</title>

        <s:head theme="ajax" />
    </head>
    <body>
    <s:div id="mydiv" theme="ajax">
            <s:form action="onload" method="post" validate="true" theme="ajax" id="myform">
                <s:textfield name="userid" label="用户名"></s:textfield>
                <s:password name="userpwd" label="密码"></s:password>
                <s:submit value="登陆" notifyTopics="/onload" targets="mydiv" theme="ajax"></s:submit>
            </s:form>
    </s:div>        
    </body>
</html>


在firefox中一切OK.然而在IE中却始终是提交为空的,并且后台输出

2008-4-23 10:42:03 org.apache.tomcat.util.http.Parameters processParameters
警告: Parameters: Invalid chunk ignored.


呵呵,看看JE有没神人来解决这个问题~~
分享到:
评论
2 楼 zenggang2008 2008-04-23  

写的有点急
不好意思,重新排了下版
1 楼 7thbyte 2008-04-23  
CSDN风格帖子乱入?

建议代码排版一下

相关推荐

    Struts-2.2.1文档

    - 动态字段验证:通过OGNL表达式,Struts 2 可以实现对动态生成的表单字段进行验证。 5. **国际化与本地化**: - Struts 2 支持多语言环境,通过资源文件可以轻松实现应用的国际化和本地化。 6. **异常处理**: ...

    struts-2.3.24.1-all.zip

    - **强大的插件架构**:Struts 2的插件机制使得集成第三方库和功能变得简单,例如,可以方便地添加Ajax支持、表单验证等。 - **友好的API**:Struts 2提供了丰富的API,如Struts Tags,帮助开发者快速创建动态网页...

    struts2.2.1jar包

    Struts2.2.1版的改进包括对旧版本的bug修复、性能优化和新功能的添加,例如增强了AJAX支持、增加了更多拦截器和插件。开发者可以使用Struts2的插件系统扩展框架功能,如Spring集成、Hibernate支持、国际化和安全管理...

    struts2.2.1apps

    此外,这些示例还涵盖了异常处理、国际化、表单验证和Ajax集成等多个方面。 6. **最佳实践** 使用Struts2.2.1 Apps,开发者可以了解到最佳实践,比如如何有效地分离业务逻辑和视图,如何利用拦截器提高代码复用性...

    当当网全套源码(附带邮箱验证功能)

    1)表单验证(采用js+Ajax) 邮箱:非空、格式、唯一性(ajax) 昵称:非空、格式 密码:非空、格式 确认密码:非空、与密码一致 验证码:非空、正确性(ajax) 2)将表单信息写入数据表d_user 编写实体类、DAO...

    当当网(达内项目)

    表现层应用JSP技术结合struts2标签,并应用JavaScript、AJAX、JQuery技术进行页面表单的客户端验证和异步服务器端验证,减少页面刷新,并运用cookie技术保存用户购物和浏览记录,提高用户体验。图书界面有用点击弹出...

    JQuery1.82_easyUI1.36_struts2 pdf文档

    Struts2.0中文教程详细介绍了如何使用Struts2进行Web应用开发,包括配置、拦截器、动作类、结果类型、OGNL表达式等核心概念。通过学习这个教程,开发者可以掌握如何有效地组织和管理控制器逻辑,与视图和模型进行...

    机试框架.doc

    Struts2和Spring都有相应的安全模块可以集成,进行参数过滤和验证。 8. **测试**: 完成系统开发后,需进行单元测试、集成测试和性能测试,确保各模块功能正常,性能达标,没有潜在的bug。 以上就是基于Struts2.0+...

    SSH+JQuery插件+Mysql

    SSH(Struts2 + Spring + Hibernate)是一种常见的Java Web开发框架组合,用于构建高效、可扩展的Web应用程序。Struts2提供了MVC(Model-View-Controller)设计模式的实现,Spring则负责依赖注入(Dependency ...

    BugManage:Extjs4 + S2SH 实现的BUG管理系统

    2. **缺陷跟踪**:每个缺陷都有自己的生命周期,包括新建、已分配、处理中、待验证、已关闭等状态,系统记录这些变化,便于团队协作。 3. **优先级与严重性**:根据问题的紧迫性和影响程度,设置不同的优先级和严重...

    java jquery例子

    jQuery有多种插件,如jQuery Validation Plugin,可以方便地添加表单验证规则,如非空检查、邮箱格式验证等。 4. **jQuery分页**:在Web应用中,特别是数据量大的情况下,分页是必不可少的功能。jQuery插件如jQuery...

    jquery 异步上传文件

    2. **Ajax技术**: - Ajax(Asynchronous JavaScript and XML)允许在不刷新整个页面的情况下,与服务器交换数据并更新部分网页内容。 - JQuery中的`$.ajax()`函数是实现Ajax的核心,它可以发送异步HTTP请求到...

    ext 2.3.0包

    2. **Ajax支持**:EXT内置的Ajax库可能在2.3.0版本中进行了优化,提高了异步请求的处理速度和错误处理机制,使得与服务器端的通信更加稳定可靠。 3. **布局管理**:EXT的布局系统可能在新版本中得到了增强,支持更...

    wicket 开发指南

    - **数据验证**: 内置表单数据验证功能。 - **Session 安全**: 保证 Session 的安全性和有效性。 - **自定义工厂**: 支持自定义组件和模型工厂。 - **懒加载 Model**: 提高应用程序性能。 - **HTML 属性控制**: 通过...

    bootstrap&jquery;的jar包

    例如,如果你正在使用Java框架如Spring MVC或Struts2,这些jar包可以方便地将Bootstrap样式和脚本引入到动态生成的HTML页面中。这使得开发者无需手动在每个视图模板中添加CSS和JS链接,而是通过配置即可全局应用...

    J2EE程序员需掌握的技术

    在IT行业中,J2EE(Java 2 Platform, Enterprise Edition)是企业级应用开发的重要标准,涵盖了一系列技术和框架。作为一名J2EE程序员,你需要掌握以下关键领域的知识: 1. **Web开发框架**: - JSF(Facelets,...

    jquery-easyui-1.3.3

    EasyUI 的核心在于其组件化的设计,这些组件包括但不限于:数据网格(datagrid)、对话框(dialog)、表单(form)、菜单(menu)、按钮(button)、滑块(slider)、树形结构(tree)等。通过这些组件,开发者可以...

    JS实现批量上传文件并显示进度功能

    通常使用Java技术栈的话,可以使用Struts2框架来处理action请求,并通过文件上传插件接收文件,最后将文件保存到服务器上。 知识点七:递归函数的运用 在文件上传过程中,递归函数是处理文件上传的关键。每上传一个...

Global site tag (gtag.js) - Google Analytics