`
wb1991wb
  • 浏览: 157810 次
  • 来自: 上海
社区版块
存档分类
最新评论

【叨、校长】Extjs通过Ajax请求后台Struts2返回一个json对象

阅读更多

首先:新建一个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 + Struts2 + JSON 程序总结

    在前端,EXTJS使用Ajax请求调用Struts2 Action,接收返回的JSON数据,然后动态渲染UI,展示所有订单及其对应的客户信息。 总结来说,ExtJs + Struts2 + JSON 的组合提供了一种高效、灵活的方法来构建富客户端Web...

    extjs 跟 struts+json

    文章可能通过一个实际项目或示例,详细解释了如何将ExtJS的Grid Panel与Struts 2通过JSON进行数据交互,帮助读者理解这两种技术的整合过程。学习这些内容有助于提升Web应用的用户体验,实现数据的实时更新和交互。

    struts2+extjs+json整合实例

    2. **创建Action类**:编写处理用户请求的Action,通常会有一个方法返回一个包含数据的Java对象。 3. **配置Action**:在struts.xml中,配置Action及其对应的返回类型为JSON。 4. **生成JSON响应**:在Action的...

    extjs+struts2+hibernate+json登录程序

    ExtJS + Struts2 + Hibernate + JSON 登录程序是一个典型的Web开发示例,结合了前端JavaScript框架、MVC框架、持久层框架以及数据传输格式,实现了用户登录功能的前后端交互。下面将详细阐述这些技术及其在登录程序...

    ExtJS4+Accordion+SERVLET/STRUTS2+JSON+Ext.tree.Panel实例

    总结来说,这个实例展示了如何将前端的ExtJS4框架,特别是其Accordion布局和Ext.tree.Panel组件,与Servlet和Struts2后端框架集成,利用JSON进行数据交换,来创建一个动态的、交互性强的Web应用。用户可以通过折叠和...

    Extjs Tree + JSON + Struts2 示例源代码

    ExtJS Tree + JSON + Struts2 示例源代码是结合了三种技术来实现一个动态的、交互式的树形数据展示的应用。这个示例中,ExtJS用于前端UI的构建,JSON作为数据交换格式,而Struts2则作为后端MVC框架处理请求和返回...

    Extjs Tree + JSON + Struts2 例子

    对于 ExtJS Tree 的数据加载器,它期望接收一个 JSON 数组,因此无法解析 Struts2 返回的对象。 为了解决这个问题,开发者转向了 json-lib,这是一个 Java 库,用于处理 JSON 数据。json-lib 可以帮助我们将 Struts...

    extjs动态树struts请求数据

    在这一过程中,Struts作为MVC框架负责后端业务逻辑处理,而ExtJS则作为前端展示库,通过Ajax请求获取Struts返回的数据,并将其渲染为动态树形结构。主要涉及的知识点包括: 1. **ExtJS动态树(TreePanel)**: ExtJS...

    JSON.rar_JSON Hibernate_extjs_json struts ext_jsp json extjs_str

    可能有一个配置或者插件用于让Struts2的动作类能够返回JSON响应,同时ExtJS的组件能够解析并展示这些数据。 综上所述,这个项目可能涉及到以下技术点: 1. JSON作为数据交换格式,连接后端服务(如Hibernate)和...

    Extjs Tree + JSON + Struts2

    ExtJS Tree + JSON + Struts2 是一个常见的前端与后端交互技术组合,常用于构建动态的、数据驱动的树形结构界面。在这个项目中,`index.html` 是主页面,`tree.js` 包含了 ExtJS 的树组件相关的 JavaScript 代码,`...

    extjs tree + json+struts2示例源代码

    在Struts2中,我们可以创建一个Action类,处理请求,查询数据库获取树结构数据,并将其转换为JSON格式,然后通过Struts2的Result类型返回给前端。 为了实现这个功能,你需要遵循以下步骤: 1. **配置Struts2**:在...

    extjs4.2+ibatis+struts构建的ajax日程表插件

    在IT行业中,构建高效、交互性强的Web应用是至关重要的,而"extjs4.2+ibatis+struts构建的ajax日程表插件"就是这样一个实例,它结合了前端框架EXTJS 4.2、后端MVC框架Struts以及持久层框架iBATIS,实现了基于Ajax的...

    Extjs+Struts2系统后台管理框架

    结合ExtJS和Struts2,我们可以构建一个高效的后台管理系统。这种组合允许前端利用ExtJS的强大界面组件来提供美观、交互性强的用户界面,而后端通过Struts2处理业务逻辑和数据操作,实现前后端的分离。 在"Extjs+...

    EXTJS4+STRUTS2+JAVA增删改查

    在EXTJS4与STRUTS2的集成中,STRUTS2作为后端服务器,接收EXTJS4发起的Ajax请求,执行相应的业务逻辑,并返回处理结果。 JAVA作为后端的主要编程语言,负责处理业务逻辑、数据访问和持久化操作。在这个例子中,可能...

    ExtJS_Tree利用_JSON_在Struts_2实现Ajax动态加载树结点

    通过以上步骤,我们就能实现一个基于ExtJS Tree、JSON和Struts 2的Ajax动态加载树结构。这种技术允许我们仅加载当前需要的节点,提高应用的性能,并且可以轻松地与服务器端数据进行交互。同时,由于采用了JSON格式,...

    struts2-extjs4.rar

    通过这个示例项目,开发者可以学习如何设置Struts2的Action来生成JSON,如何在ExtJS4中配置Ajax请求,以及如何解析和展示接收到的JSON数据。这有助于理解和掌握两者的集成技术,从而在实际项目中实现更高效的数据...

    @@@extjs+struts2+json plugin的例子

    在这个例子中,开发者可能创建了一个`Struts2` Action,该Action处理来自`ExtJS`的AJAX请求,执行业务逻辑后,利用`Struts2 JSON插件`将结果转化为JSON格式。`ExtJS`前端则监听HTTP响应,接收到JSON数据后,根据数据...

    Struts2(json-plugin) + Spring2 + ExtJS2.2 开源网络硬盘系统

    【标题】"Struts2(json-plugin) + Spring2 + ExtJS2.2 开源网络硬盘系统"是一个基于Java技术栈的开源项目,它利用了Struts2框架的json-plugin插件,Spring2作为服务层管理和依赖注入框架,以及ExtJS2.2作为前端展示...

    extjs+struts2省市区三级联动完整示例

    当用户在前端选择一个省份时,ExtJS会向Struts2 Action发送Ajax请求,携带省份ID。Action根据ID查询数据库,将城市列表以JSON格式返回。同样的过程应用于城市选择,但这次请求的是区县列表。 6. **处理JSON响应**...

    struts2与extjs tree的完美结合

    Struts2JSON插件是Struts2的一个扩展,它使得Struts2能方便地与JSON格式的数据交互。当接收到前端的Ajax请求时,该插件可以将Java对象转换成JSON格式,然后返回给客户端。这样,ExtJS Tree可以通过Ajax请求获取到...

Global site tag (gtag.js) - Google Analytics