web开发过程中,经常需要使用Ajax进行数据的交互。ExtJs表单提交默认使用异步的方式,若使用Struts2的Action进行数据的处理,则需要返回一个Json数据客户端才会收到服务器的处理结果,我们使用jsonplugin插件从Action中返回结果给用户,下面我们就来实现这一方法:
1、下载jsonplugin插件,网址是:http://code.google.com/p/jsonplugin/
2、将下载的jar文件拷贝到你的web工程下的lib文件夹中。
3、客户端js提交动作部分代码:
if (win.getComponent('loginForm').form.isValid()) { //'loginForm'为表单id
win.getComponent('loginForm').form.submit({
url : './userLogin.action',
waitTitle : '正在登陆',
method : 'POST',
waitMsg : '服务器正在验证,请稍候......',
success : function(form, action) {
if (action.result.success) {
// 登录成功,页面跳转
window.location = "./main.jsp"
}
},
failure : function(form, action) {
Ext.MessageBox.alert("登录失败",
action.result.message);
}
});
}
4、编写action,以用户登录为例
public class ActionTest extends ActionSupport {
private boolean success;
private String message;
private User user; //模型对象
public String execute() throws Exception {
User useReg = vlidate(user);//验证用户是否存在
if(useReg !=null){
this.success = true;
this.message = "测试通过";
}else{
this.success = false;
this.message = "对不起,未授权用户不能使用该系统!";
}
return SUCCESS;
}
//下面省略get和set方法
}
提交成功返回数据位:{"success":true,"message":"测试通过"}
提交失败返回数据位:{"success":false,"message":"对不起,未授权用户不能使用该系统!"}
注意:action中必须最后返回SUCCESS 才能返回该Json数据,若设置其它返回结果则客户端一直是提交状态。
5、在struts.xml文件中配置action
<action name="actionTest" class="com.action.actionTest"><!--class属性为action完整路径-->
<result name="success">/login.jsp</result><!--必须配置success,否则会出错-->
<result type="json" />
</action>
6、测试,登录不成功界面
登录成功会自动转到你希望跳转的页面,需要说明的是,不管你在 <result name="success">/login.jsp</result>配置什么值,Struts2都不会根据你的设置进行跳转,这是因为我们使用了Ajax提交表单数据,所以页面的跳转还需要使用:window.location = "./main.jsp" 进行。
相关推荐
Struts2、ExtJS和JSON是Web开发中的三个关键技术,它们在构建动态、交互式的Web应用程序时发挥着重要作用。下面将详细介绍这三个技术及其整合过程。 首先,Struts2是一个基于MVC(Model-View-Controller)设计模式...
ExtJs + Struts2 + JSON 是一种常见的前端与后端数据交互的技术组合,常用于构建富客户端应用。这里我们详细探讨一下这三个技术组件以及它们如何协同工作。 首先,ExtJs 是一个JavaScript库,用于创建复杂的、用户...
上网找资料,都是一些不全的. struts2+extjs2.1+json+hibernate+spring 自己整合的例子. 当中hibernate数据源可以配置自己的.后台输送json 前台接收.
Struts2和ExtJS4是两个非常重要的Java Web开发框架,它们在构建高效、用户友好的Web应用程序中发挥着关键作用。在这个"Struts2+ExtJS4登录源码"项目中,我们可以深入理解这两个框架如何协同工作以实现一个基本的用户...
ExtJS + Struts2 + Hibernate + JSON 登录程序是一个典型的Web开发示例,结合了前端JavaScript框架、MVC框架、持久层框架以及数据传输格式,实现了用户登录功能的前后端交互。下面将详细阐述这些技术及其在登录程序...
### Struts2+Json+ExtJS分页技术详解 #### 一、技术背景与概述 在Web开发领域,实现高效的数据展示与交互是至关重要的。本文档将介绍如何使用Struts2框架结合JSON数据格式以及ExtJS前端库来实现动态分页功能。此...
### Hibernate+Spring+Struts2+ExtJS集成开发CRUD功能 #### 开源框架环境与下载 在构建一个基于`Hibernate+Spring+Struts2+ExtJS`的CRUD应用时,首先需熟悉各框架的基本特性和安装环境。 1. **Hibernate**:作为...
在本例中,Struts2将与ExtJS交互,接收前端的Ajax请求,调用后端服务,执行CRUD操作,并将结果以JSON或其他格式返回给前端。Struts2的拦截器机制也使得我们可以方便地添加自定义的业务逻辑或验证规则。 最后,ExtJS...
总结来说,这个实例展示了如何将前端的ExtJS4框架,特别是其Accordion布局和Ext.tree.Panel组件,与Servlet和Struts2后端框架集成,利用JSON进行数据交换,来创建一个动态的、交互性强的Web应用。用户可以通过折叠和...
Struts2和ExtJS是两种在Web开发中广泛使用的开源技术。Struts2是一个基于MVC(Model-View-Controller)架构模式的Java Web框架,它简化了开发过程,提供了强大的控制层支持。而ExtJS则是一个前端JavaScript库,用于...
3. **Struts2配置**:struts.xml文件中会有针对ExtJS请求的Action配置,可能包括JSON结果类型,以便返回的数据能被ExtJS解析。 4. **Model-View-Controller**:Struts2负责后台业务处理和数据传输,ExtJS负责前端...
### Hibernate+Spring+Struts2+ExtJS集成开发CRUD功能 #### 一、技术栈介绍与环境搭建 **1. Hibernate:** Hibernate是一个强大的对象关系映射(ORM)框架,用于简化Java应用程序与数据库之间的交互。通过...
在这个项目中,JSON作为前后端数据交换的载体,用于在Struts2或Spring与ExtJS之间传递登录验证结果、密码修改信息等数据。 6. **邮件发送**:为了实现找回密码的功能,项目可能集成了邮件服务,当用户忘记密码时,...
2. **数据传递**:由于Struts和ExtJS分别处理前后端,需要定义清晰的数据接口,如JSON格式,用于在两者间传递数据。 3. **安全性和性能**:导出大量数据时要考虑性能优化,避免内存溢出。同时,确保文件下载过程的...
Struts2的JSON插件可以方便地将Action的结果转换为JSON格式,供ExtJS的组件消费。同时,ExtJS可以通过Store和Proxy组件来管理和加载由Struts2返回的数据。 总的来说,这个整合包提供了开发基于Struts2和ExtJS的Web...
《整合Hibernate、Struts2与ExtJs4.0:基于JSON的数据传输实践》 在现代Web应用开发中,三大框架的整合是常见的技术选型,这里我们探讨的是Hibernate、Struts2与ExtJs4.0的集成应用。这三者分别负责持久层、控制层...
在IT行业中,构建Web应用程序是一项常见的任务,而`ExtJS`、`Struts2`和`JSON`是其中的关键技术,常被用来创建交互性强、功能丰富的用户界面和高效的服务器通信。下面将详细阐述这三个技术及其结合使用的情况。 ...
在IT行业中,构建高效、可维护的Web应用是至关重要的,而SSH(Spring、Struts2、Hibernate)和ExtJS的结合使用就是一种常见的解决方案。本文将深入探讨如何利用这些技术实现CRUD(创建、读取、更新和删除)功能,并...