`
czpae86
  • 浏览: 720210 次
  • 性别: Icon_minigender_1
  • 来自: 广州
社区版块
存档分类
最新评论

struts2 返回json数据(结合Extjs)

阅读更多

本例使用struts2版本 struts-2.1.8.1

 

首先导入必要的jar包:


 

配置web.xml:

 

 

<filter>
		<filter-name>struts2</filter-name>
		<filter-class>org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter</filter-class>
	</filter>
	<filter-mapping>
		<filter-name>struts2</filter-name>
		<url-pattern>*.action</url-pattern>
	</filter-mapping>

 

 
 接着书写Action类:

 

 

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.opensymphony.xwork2.Action;


public class Test {
	public Map responseJson;
	public Map getResponseJson() {
		return responseJson;
	}
	public void setResponseJson(Map responseJson) {
		this.responseJson = responseJson;
	}
	
	public String getList(){
		Map<String, Object> map = new HashMap<String, Object>();
		List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();
		for(int i=0;i<3;i++){
			Map<String, Object> m = new HashMap<String, Object>();
			m.put("id", i);
			m.put("name", "Mic"+i);
			list.add(m);
		}
		map.put("rows", list);
		map.put("totalCont", 3);
		this.setResponseJson(map);
		return Action.SUCCESS;
	}
}

 

 

最后配置struts.xml文件:

 

 

<package name="jsonTest" extends="json-default">
		<action name="test" class="bll.Test" method="getList">			
			<result type="json">
				<param name="root">responseJson</param>
			</result>
		</action>
	</package>

 

struts.xml配置说明:

1,<result type="json"> 这句说明返回类型为json,所以extends设置为"json-default"。

2,<param name="root">responseJson</param> responseJson对应返回数据的根,如果省略这行返回的结果如下:

 

{"list":"success","responseJson":{"rows":[{"name":"Mic0","id":0},{"name":"Mic1","id":1},{"name":"Mic2","id":2}],"totalCont":3}}

 

 如果设置了root,结果如下:

 

{"rows":[{"name":"Mic0","id":0},{"name":"Mic1","id":1},{"name":"Mic2","id":2}],"totalCont":3}
 

以上步骤做好后,我们就可以调用该action了:

 

Ext.onReady(function(){
  		new Mic.GridPanel({
			title : 'test',
			width : 500,
			height : 410,
	        dataUrl : 'test.action',
	        dwrStore : false,
	        colMapping : ['id','name'],
			headers : [
				{ header: "Id", width: 60, dataIndex:'id'},
		        { header: "名称", width: 150, dataIndex:'name'}
			]
		}).render(Ext.getBody());
  	});

 调用说明: dataUrl : 'test.action'  test就是action中的name属性。

 

返回数据:


 

效果图:


 

 

  • 大小: 15.6 KB
  • 大小: 8.9 KB
  • 大小: 22.9 KB
分享到:
评论

相关推荐

    ExtJs + Struts2 + JSON 程序总结

    通过Struts2处理后端逻辑并返回JSON数据,EXTJS能够动态地更新页面,呈现复杂的数据结构,从而提高用户体验。这种技术栈在现代企业级Web开发中非常常见,因为它能够简化数据交互,同时保持良好的性能和可维护性。

    JSON.rar_JSON Hibernate_extjs_json struts ext_jsp json extjs_str

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

    一个运用Extjs,Struts2, json,iterator技术构建的iterator_jsonDemo2。 将数据从后台传到Extjs表现层。

    iterator_jsonDemo1的链接:http://download.csdn.net/detail/cafebar123/8816409 运用了Extjs,Struts2, json,iterator技术, 将数据从后台传到Extjs表现层(自带json相关jar包)。注释详细,供参考。 Use ...

    extjs 跟 struts+json

    标题 "extjs 跟 struts+json" 暗示了本文将探讨如何使用ExtJS框架与Struts框架结合,通过JSON数据格式进行交互。ExtJS是一个强大的JavaScript库,用于构建富客户端Web应用程序,而Struts是Java Web开发中的一个MVC...

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

    在与ExtJS4结合使用时,Servlet通常用于接收前端发送的JSON数据请求,处理业务逻辑,并返回相应的JSON数据。 Struts2是一个基于MVC设计模式的Java Web框架,用于简化企业级应用开发。它提供了处理用户请求、控制...

    struts2 json extjs 完整实例

    struts2 json extjs 完整实例 struts2 json extjs 完整实例 完整可用 无错! struts2 json extjs 完整实例 struts2 json extjs 完整实例 完整可用 无错! struts2 json extjs 完整实例 struts2 json extjs 完整...

    Struts2+Json+ExtJS分页

    本文档将介绍如何使用Struts2框架结合JSON数据格式以及ExtJS前端库来实现动态分页功能。此方案不仅能够提高用户体验,还能够优化服务器资源的利用效率。 #### 二、关键技术点 1. **Struts2**: 是一个基于Java的...

    Extjs Tree + JSON + Struts2 例子

    在本文中,我们将探讨如何结合 ExtJS、JSON 和 Struts2 实现一个动态加载的树形菜单。ExtJS 是一个流行的 JavaScript 框架,用于构建富客户端应用,它支持多种数据源,包括 JSON。Struts2 是一个 Java Web 开发框架...

    struts2-hibernate-spring-Extjs-json.rar_JSON_extjs_extjs json st

    综上所述,这个压缩包提供的资料可能涵盖了如何在Struts2中配置和使用Hibernate进行数据持久化,如何利用Spring进行依赖管理和数据访问,以及如何结合ExtJS创建富客户端界面并利用JSON进行前后端通信。对于想要深入...

    struts2+extjs+json整合实例

    在Struts2和ExtJS整合中,JSON起到桥梁作用,将服务器端的Action产生的数据转换为JSON格式,然后由ExtJS前端解析并显示在界面上。 整合Struts2、ExtJS和JSON的步骤通常包括以下几个部分: 1. **设置Struts2的JSON...

    extjs+struts2+hibernate+json登录程序

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

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

    `Struts2`与`ExtJS`结合时,通常作为后端服务,接收并处理来自前端的请求,然后返回JSON数据。 再者,`JSON`(JavaScript Object Notation)是一种轻量级的数据交换格式,易于人阅读和编写,同时也易于机器解析和...

    Struts2 Spring2.5 Hiberante3.3.2 +ExtJS(Struts2-json)做的CRUD

    在与Struts2结合时,Struts2的JSON插件可以将服务器端的数据转换成JSON格式,方便ExtJS的组件直接使用,实现异步数据加载和页面动态更新。 总的来说,这个DEMO展示了如何将这些技术有效地整合,构建一个完整的Java ...

    EXTJS4+STRUTS2+JAVA增删改查

    为了使EXTJS4和STRUTS2能够通信,需要配置STRUTS2的JSON插件,使得ACTION可以返回JSON格式的数据,EXTJS4能解析这些数据更新界面。同时,需要在EXTJS4中设置适当的proxy,如Ajax proxy,指定URL到STRUTS2 ACTION,并...

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

    综上所述,这个开源项目展示了如何结合Struts2、Spring2和ExtJS2.2来创建一个功能丰富的网络硬盘系统,涉及了后端业务逻辑处理、前端UI展示、以及数据交互等多个方面,对于学习和理解Java Web开发具有很高的参考价值...

    ExtJs 2.0 GridPanel+Struts2 with JSON plugin[更新代码]

    通过以上知识点的结合,你可以创建一个功能完备的 ExtJS 2.0 GridPanel,利用 Struts2 JSON 插件与后端进行高效的数据交互,提供用户友好的数据展示和操作界面。在实际项目中,可能还需要根据具体需求进行定制和优化...

    Strust2+Json+ExtJs 6个程序代码(经典)

    在Struts2中,我们可以使用JSON结果类型来返回数据,使前后端进行数据交换。这样,前端可以通过Ajax请求获取到服务器端处理后的数据,无需刷新整个页面。 3. **ExtJS**:这是一款强大的JavaScript库,用于构建富...

    ExtJS+struts2+json登陆实例--源码

    这个实例演示了如何将前端的JavaScript框架ExtJS与后端的Java MVC框架Struts2结合,通过JSON进行数据交换实现用户登录功能。下面将详细介绍各个组成部分。 首先,Ext JS 2.2是用于构建富客户端应用的JavaScript库,...

    struts2与extjs tree的完美结合

    在这个“struts2与extjs tree的完美结合”的示例中,开发者利用了Struts2的Annotation特性来简化配置,以及Struts2JSON插件来处理JSON数据,从而实现在服务器端动态生成和返回Tree节点。Annotation使得开发者能够在...

    JPA STRUTS SPRING EXTJS JSON 同学录

    例如,当用户请求同学信息时,服务器会返回JSON格式的数据,EXTJS则负责解析这些数据并渲染到界面上。 6. **classmates 文件夹**: 这个文件很可能是项目的核心源代码或者数据文件,包含了同学录相关的具体实现,如...

Global site tag (gtag.js) - Google Analytics