首先:新建一个java web项目,添加struts2的支持,配置好相关的xml文件:如下
web.xml文件配置:
<?xml version="1.0" encoding="UTF-8"?>
<web-app version="2.4"
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd">
<filter>
<filter-name>struts2</filter-name>
<filter-class>
org.apache.struts2.dispatcher.FilterDispatcher
</filter-class>
</filter>
<filter-mapping>
<filter-name>struts2</filter-name>
<url-pattern>/*</url-pattern>
</filter-mapping>
<welcome-file-list>
<welcome-file>index.jsp</welcome-file>
</welcome-file-list>
</web-app>
struts配置文件:
<?xml version="1.0" encoding="gbk" ?>
<!DOCTYPE struts PUBLIC
"-//Apache Software Foundation//DTD Struts Configuration 2.3//EN"
"http://struts.apache.org/dtds/struts-2.3.dtd">
<struts>
<package name="struts" extends="json-default">
<action name="testAction" class="com.daodao.action.TestAction">
<result name="success" type="json"></result>
</action>
</package>
</struts>
其次:编写前台EXTJS,这里不在说明!请求方法:我这里使用的是AJAX请求:
Ext.Ajax.request({
url : 'testAction.action',
method:'POST',
success:function(response,options) {
alert(eval("("+response.responseText+")"));
},
failure:function(response,options){
alert();
}
})
编写后台action实现:
public class TestAction extends ActionSupport{
boolean success;
List list;
User user;
public boolean isSuccess() {
return success;
}
public void setSuccess(boolean success) {
this.success = success;
}
public String execute() throws Exception {
this.success=true;
user=new User();
user.setEmail("aaa");
user.setName("bbb");
user.setPass("ccc");
list=new ArrayList();
list.add(user);
return SUCCESS;
}
public List getList() {
return list;
}
public void setList(List list) {
this.list = list;
}
public User getUser() {
return user;
}
public void setUser(User user) {
this.user = user;
}
}
OK这样就前台JS就可以得到一个JSON类型的数据了:
"{\"list\":[{\"email\":\"aaa\",\"name\":\"bbb\",\"pass\":\"ccc\"}],\"success\":true,\"user\":{\"email\":\"aaa\",\"name\":\"bbb\",\"pass\":\"ccc\"}}"
对于这样一个字符串我们可以在前台使用JS内置函数eval()将其转换称JS对象,方便我们的使用
eval("("+response.responseText+")")
根据本实例中的数据类型,转换过的js对象是这样的:一个数组,一个bool类型的success(这个属性后台是必须设置的,前台的会使用这个属性作为判断成功与否的标准!),详情请查看图片附件(JS对象.jsp)!
这样我们前台就可以随心所欲的使用各种数据了!
项目所需要的jar包:
asm-3.3.jar
asm-commons-3.3.jar
asm-tree-3.3.jar
commons-fileupload-1.2.2.jar
commons-io-2.0.1.jar
commons-lang3-3.1.jar
freemarker-2.3.19.jar
javassist-3.11.0.GA.jar
ognl-3.0.5.jar
struts2-core-2.3.4.jar
xwork-core-2.3.4.jar
json-lib-2.3-jdk15.jar
struts2-json-plugin-2.3.4.jar
- 大小: 66.8 KB
分享到:
相关推荐
在前端,EXTJS使用Ajax请求调用Struts2 Action,接收返回的JSON数据,然后动态渲染UI,展示所有订单及其对应的客户信息。 总结来说,ExtJs + Struts2 + JSON 的组合提供了一种高效、灵活的方法来构建富客户端Web...
文章可能通过一个实际项目或示例,详细解释了如何将ExtJS的Grid Panel与Struts 2通过JSON进行数据交互,帮助读者理解这两种技术的整合过程。学习这些内容有助于提升Web应用的用户体验,实现数据的实时更新和交互。
2. **创建Action类**:编写处理用户请求的Action,通常会有一个方法返回一个包含数据的Java对象。 3. **配置Action**:在struts.xml中,配置Action及其对应的返回类型为JSON。 4. **生成JSON响应**:在Action的...
ExtJS + Struts2 + Hibernate + JSON 登录程序是一个典型的Web开发示例,结合了前端JavaScript框架、MVC框架、持久层框架以及数据传输格式,实现了用户登录功能的前后端交互。下面将详细阐述这些技术及其在登录程序...
总结来说,这个实例展示了如何将前端的ExtJS4框架,特别是其Accordion布局和Ext.tree.Panel组件,与Servlet和Struts2后端框架集成,利用JSON进行数据交换,来创建一个动态的、交互性强的Web应用。用户可以通过折叠和...
ExtJS Tree + JSON + Struts2 示例源代码是结合了三种技术来实现一个动态的、交互式的树形数据展示的应用。这个示例中,ExtJS用于前端UI的构建,JSON作为数据交换格式,而Struts2则作为后端MVC框架处理请求和返回...
对于 ExtJS Tree 的数据加载器,它期望接收一个 JSON 数组,因此无法解析 Struts2 返回的对象。 为了解决这个问题,开发者转向了 json-lib,这是一个 Java 库,用于处理 JSON 数据。json-lib 可以帮助我们将 Struts...
在这一过程中,Struts作为MVC框架负责后端业务逻辑处理,而ExtJS则作为前端展示库,通过Ajax请求获取Struts返回的数据,并将其渲染为动态树形结构。主要涉及的知识点包括: 1. **ExtJS动态树(TreePanel)**: ExtJS...
可能有一个配置或者插件用于让Struts2的动作类能够返回JSON响应,同时ExtJS的组件能够解析并展示这些数据。 综上所述,这个项目可能涉及到以下技术点: 1. JSON作为数据交换格式,连接后端服务(如Hibernate)和...
ExtJS Tree + JSON + Struts2 是一个常见的前端与后端交互技术组合,常用于构建动态的、数据驱动的树形结构界面。在这个项目中,`index.html` 是主页面,`tree.js` 包含了 ExtJS 的树组件相关的 JavaScript 代码,`...
在Struts2中,我们可以创建一个Action类,处理请求,查询数据库获取树结构数据,并将其转换为JSON格式,然后通过Struts2的Result类型返回给前端。 为了实现这个功能,你需要遵循以下步骤: 1. **配置Struts2**:在...
在IT行业中,构建高效、交互性强的Web应用是至关重要的,而"extjs4.2+ibatis+struts构建的ajax日程表插件"就是这样一个实例,它结合了前端框架EXTJS 4.2、后端MVC框架Struts以及持久层框架iBATIS,实现了基于Ajax的...
结合ExtJS和Struts2,我们可以构建一个高效的后台管理系统。这种组合允许前端利用ExtJS的强大界面组件来提供美观、交互性强的用户界面,而后端通过Struts2处理业务逻辑和数据操作,实现前后端的分离。 在"Extjs+...
在EXTJS4与STRUTS2的集成中,STRUTS2作为后端服务器,接收EXTJS4发起的Ajax请求,执行相应的业务逻辑,并返回处理结果。 JAVA作为后端的主要编程语言,负责处理业务逻辑、数据访问和持久化操作。在这个例子中,可能...
通过以上步骤,我们就能实现一个基于ExtJS Tree、JSON和Struts 2的Ajax动态加载树结构。这种技术允许我们仅加载当前需要的节点,提高应用的性能,并且可以轻松地与服务器端数据进行交互。同时,由于采用了JSON格式,...
通过这个示例项目,开发者可以学习如何设置Struts2的Action来生成JSON,如何在ExtJS4中配置Ajax请求,以及如何解析和展示接收到的JSON数据。这有助于理解和掌握两者的集成技术,从而在实际项目中实现更高效的数据...
在这个例子中,开发者可能创建了一个`Struts2` Action,该Action处理来自`ExtJS`的AJAX请求,执行业务逻辑后,利用`Struts2 JSON插件`将结果转化为JSON格式。`ExtJS`前端则监听HTTP响应,接收到JSON数据后,根据数据...
【标题】"Struts2(json-plugin) + Spring2 + ExtJS2.2 开源网络硬盘系统"是一个基于Java技术栈的开源项目,它利用了Struts2框架的json-plugin插件,Spring2作为服务层管理和依赖注入框架,以及ExtJS2.2作为前端展示...
当用户在前端选择一个省份时,ExtJS会向Struts2 Action发送Ajax请求,携带省份ID。Action根据ID查询数据库,将城市列表以JSON格式返回。同样的过程应用于城市选择,但这次请求的是区县列表。 6. **处理JSON响应**...
Struts2JSON插件是Struts2的一个扩展,它使得Struts2能方便地与JSON格式的数据交互。当接收到前端的Ajax请求时,该插件可以将Java对象转换成JSON格式,然后返回给客户端。这样,ExtJS Tree可以通过Ajax请求获取到...