这两天很来气,原因就是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有没神人来解决这个问题~~
分享到:
- 2008-04-23 12:00
- 浏览 1586
- 评论(2)
- 论坛回复 / 浏览 (2 / 2264)
- 查看更多
相关推荐
- 动态字段验证:通过OGNL表达式,Struts 2 可以实现对动态生成的表单字段进行验证。 5. **国际化与本地化**: - Struts 2 支持多语言环境,通过资源文件可以轻松实现应用的国际化和本地化。 6. **异常处理**: ...
- **强大的插件架构**:Struts 2的插件机制使得集成第三方库和功能变得简单,例如,可以方便地添加Ajax支持、表单验证等。 - **友好的API**:Struts 2提供了丰富的API,如Struts Tags,帮助开发者快速创建动态网页...
Struts2.2.1版的改进包括对旧版本的bug修复、性能优化和新功能的添加,例如增强了AJAX支持、增加了更多拦截器和插件。开发者可以使用Struts2的插件系统扩展框架功能,如Spring集成、Hibernate支持、国际化和安全管理...
此外,这些示例还涵盖了异常处理、国际化、表单验证和Ajax集成等多个方面。 6. **最佳实践** 使用Struts2.2.1 Apps,开发者可以了解到最佳实践,比如如何有效地分离业务逻辑和视图,如何利用拦截器提高代码复用性...
1)表单验证(采用js+Ajax) 邮箱:非空、格式、唯一性(ajax) 昵称:非空、格式 密码:非空、格式 确认密码:非空、与密码一致 验证码:非空、正确性(ajax) 2)将表单信息写入数据表d_user 编写实体类、DAO...
表现层应用JSP技术结合struts2标签,并应用JavaScript、AJAX、JQuery技术进行页面表单的客户端验证和异步服务器端验证,减少页面刷新,并运用cookie技术保存用户购物和浏览记录,提高用户体验。图书界面有用点击弹出...
Struts2.0中文教程详细介绍了如何使用Struts2进行Web应用开发,包括配置、拦截器、动作类、结果类型、OGNL表达式等核心概念。通过学习这个教程,开发者可以掌握如何有效地组织和管理控制器逻辑,与视图和模型进行...
Struts2和Spring都有相应的安全模块可以集成,进行参数过滤和验证。 8. **测试**: 完成系统开发后,需进行单元测试、集成测试和性能测试,确保各模块功能正常,性能达标,没有潜在的bug。 以上就是基于Struts2.0+...
SSH(Struts2 + Spring + Hibernate)是一种常见的Java Web开发框架组合,用于构建高效、可扩展的Web应用程序。Struts2提供了MVC(Model-View-Controller)设计模式的实现,Spring则负责依赖注入(Dependency ...
2. **缺陷跟踪**:每个缺陷都有自己的生命周期,包括新建、已分配、处理中、待验证、已关闭等状态,系统记录这些变化,便于团队协作。 3. **优先级与严重性**:根据问题的紧迫性和影响程度,设置不同的优先级和严重...
jQuery有多种插件,如jQuery Validation Plugin,可以方便地添加表单验证规则,如非空检查、邮箱格式验证等。 4. **jQuery分页**:在Web应用中,特别是数据量大的情况下,分页是必不可少的功能。jQuery插件如jQuery...
2. **Ajax技术**: - Ajax(Asynchronous JavaScript and XML)允许在不刷新整个页面的情况下,与服务器交换数据并更新部分网页内容。 - JQuery中的`$.ajax()`函数是实现Ajax的核心,它可以发送异步HTTP请求到...
2. **Ajax支持**:EXT内置的Ajax库可能在2.3.0版本中进行了优化,提高了异步请求的处理速度和错误处理机制,使得与服务器端的通信更加稳定可靠。 3. **布局管理**:EXT的布局系统可能在新版本中得到了增强,支持更...
- **数据验证**: 内置表单数据验证功能。 - **Session 安全**: 保证 Session 的安全性和有效性。 - **自定义工厂**: 支持自定义组件和模型工厂。 - **懒加载 Model**: 提高应用程序性能。 - **HTML 属性控制**: 通过...
例如,如果你正在使用Java框架如Spring MVC或Struts2,这些jar包可以方便地将Bootstrap样式和脚本引入到动态生成的HTML页面中。这使得开发者无需手动在每个视图模板中添加CSS和JS链接,而是通过配置即可全局应用...
在IT行业中,J2EE(Java 2 Platform, Enterprise Edition)是企业级应用开发的重要标准,涵盖了一系列技术和框架。作为一名J2EE程序员,你需要掌握以下关键领域的知识: 1. **Web开发框架**: - JSF(Facelets,...
EasyUI 的核心在于其组件化的设计,这些组件包括但不限于:数据网格(datagrid)、对话框(dialog)、表单(form)、菜单(menu)、按钮(button)、滑块(slider)、树形结构(tree)等。通过这些组件,开发者可以...
通常使用Java技术栈的话,可以使用Struts2框架来处理action请求,并通过文件上传插件接收文件,最后将文件保存到服务器上。 知识点七:递归函数的运用 在文件上传过程中,递归函数是处理文件上传的关键。每上传一个...