`
ivoter
  • 浏览: 91423 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

extjs调用dwr返回的json数据

阅读更多

1.近期公司使用extjs做ui界面,并用dwr远程访问javabean取得json数据。网上搜了一天,不能用.用一天的时间终于自学成才,回头看一下原来就这么简单,现将心得与大家分享,菜鸟级别,有问题请指正!

 

2.首先是index.jsp代码,表格的绘制用extjs实现。<%@ page language="java" contentType="text/html; charset=UTF-8"

    pageEncoding="UTF-8"%>
<!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>extjs&dwr</title>
<link rel="stylesheet" type="text/css" href="<%=request.getContextPath()%>/ext-4.0.7/resources/css/ext-all.css" />
<script type="text/javascript" src="<%=request.getContextPath()%>/ext-4.0.7/bootstrap.js"></script>
<script type="text/javascript" src="<%=request.getContextPath()%>/ext-4.0.7/ext-all.js"></script> 

<script type='text/javascript' src='<%=request.getContextPath()%>/dwr/engine.js'></script>
<script type='text/javascript' src='<%=request.getContextPath()%>/dwr/util.js'></script>
<script type='text/javascript' src='<%=request.getContextPath()%>/dwr/interface/DwrTable.js'></script>
<script type="text/javascript" src="js/index.js"></script>
</head>

<body>

</body>
</html>

 

3.DwrTable.java代码,只是返回一个json字符串package com.dwr.util;

public class DwrTable {
	
	/**
	 * 返回json数组字符串
	 * @return String
	 * @throws Exception
	 */
	public String createTable() throws Exception {

		String str = "[{id: 1,name: 'Ed Spencer',phoneNumber: '555 1234'},{id: 2,name: 'Abe Elias',phoneNumber: '666 1234'}]";

		return str;
	}

}
 

4.表格的绘制用extjs实现,下面是index.js代码,这是dwr和extjs结合的重点Ext.onReady(function(){

	//调用dwr取得返回的json字符串
	DwrTable.createTable(callBack);
	//创建本地store
	var store = Ext.create('Ext.data.Store', {
		fields: [
	        {name: 'id',    type: 'int'},
	        {name: 'name',  type: 'string'},
	        {name: 'phone', type: 'string', mapping: 'phoneNumber'}
	    ],
	    proxy: {
	        type: 'memory',
	        reader: {
	            type: 'json'
	        }
	    }
	});
	//创建grid显示数据
	Ext.create('Ext.grid.Panel', {
	    title: 'Date Column Demo',
	    store: store,//这里的store是上边定义的本地store
	    columns: [
	        { text: 'id',   dataIndex: 'id', flex: 1 },
	        { text: 'name',     dataIndex: 'name' },
	        { text: 'phone',   dataIndex: 'phone' }
	    ],
	    height: 200,
	    width: 450,
	    renderTo: Ext.getBody()
	});
	//在callBack函数调用store.loadData()来载入store
	function callBack(dat){
		 store.loadData(Ext.decode(dat));//Ext.decode(dat)将字符串转成json数组
	};
});

 

5.dwr的配置在spring的配置文件application.xml中代码如下,这里可以通过网上搜一下在web.xml中配置<?xml version="1.0" encoding="UTF-8"?>

<beans xmlns="http://www.springframework.org/schema/beans"
	xmlns:aop="http://www.springframework.org/schema/aop" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
	xmlns:dwr="http://www.directwebremoting.org/schema/spring-dwr"
	xmlns:tx="http://www.springframework.org/schema/tx"
	xsi:schemaLocation="http://www.springframework.org/schema/beans
	http://www.springframework.org/schema/beans/spring-beans.xsd
	http://www.directwebremoting.org/schema/spring-dwr
	http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd
	http://www.springframework.org/schema/aop  
	http://www.springframework.org/schema/aop/spring-aop.xsd
	http://www.springframework.org/schema/tx 
	http://www.springframework.org/schema/tx/spring-tx.xsd"><bean id="dwrTable" class="com.dwr.util.DwrTable">
		<dwr:remote javascript="DwrTable">
			<dwr:include method="createTable"/>
		</dwr:remote>
</bean></beans>
分享到:
评论

相关推荐

    ExtJs+ Dwr 页面登入功能

    3. **调用DWR服务**:在处理函数中,使用DWR的API(如`DWRUtil.setValue`和`DWREngine.invoke`)来获取用户输入的值,并向服务器发送登录请求。 4. **Java后端验证**:在服务器端,编写Java方法接收登录请求,对...

    DWR+extjs+spring+hibernate

    EXTJS通过DWR调用服务,获取或更新数据,显示在界面上。同时,Spring的事务管理确保了数据的一致性。 总结起来,"DWR+extjs+spring+hibernate"的组合是现代Web应用开发的一个强大工具集,它能够帮助开发者快速构建...

    Extjs Tree + JSON + Struts2 示例源代码

    ExtJS Tree通过Ajax请求获取这些JSON数据,并根据数据构建或更新树结构。JSON的优势在于它的结构与JavaScript对象相似,可以直接在JavaScript中使用,减少了数据处理的复杂性。 3. **Struts2**: Struts2 是一个基于...

    EXTJS 3 整合DWR (DWRProxy、DWRTreeLoader、DWRGridProxy )

    EXTJS 3 整合DWR (DWRProxy、DWRTreeLoader、DWRGridProxy) 是一个在EXTJS 3.0版本中实现的重要技术整合,它将DWR(Direct Web Remoting)的强大功能引入到EXTJS的前端框架中,以实现更高效的数据交互。EXTJS是一个...

    ext 与 dwr 的结合

    DWR通过自动处理JSON或XML数据交换,简化了客户端和服务器之间的交互。 将EXTJS与DWR结合,可以创建出高度交互性和动态的Web应用。EXTJS负责前端的用户界面展示和交互,而DWR则负责提供后端服务,实现实时的数据...

    ext+Json+dwr+spring+hibernate整合项目实例与资源

    - 最后,通过Spring MVC处理前端请求,调用业务逻辑层的方法,返回JSON数据给EXTJS展示。 项目中的"Project"文件可能包含了项目的源代码,包括各层的Java类、配置文件、以及Web相关的资源。而"Web"文件可能包含了...

    整合--Struts2为extjs提供server数据

    4. **处理响应数据**:当Action执行完毕,Struts2会返回JSON数据到前端。Extjs的`JsonReader`会解析这个响应,将数据绑定到Grid、Tree或其他组件中。 例如,在给出的部分内容中,我们可以看到一个使用`Ext.data....

    dwrproxy.js

    3. **ExtJS与DWR的整合**:整合这两者,开发者可以在ExtJS的组件上直接触发后台操作,例如通过DWR调用Java方法来获取或更新数据,然后实时更新UI。这种方式可以实现前后端的无刷新通信,提升应用性能。 4. **富...

    ajax+DWR实战

    5. **编写前端代码**: 使用Ajax调用DWR生成的JavaScript接口,处理返回的数据,更新DOM元素,实现页面动态更新。 ### 3. DWR安全性和优化 - **安全控制**: DWR提供了多种安全措施,如CSRF保护、白名单机制等,确保...

    extjs做的一个桌面应用系统

    DWR则负责在后台处理业务逻辑和数据操作,通过JSON或其他格式的数据交换,实现与EXTJS前端的无缝对接。 EXTJS的组件体系非常完善,例如,GridPanel可以展示大量数据并支持排序、筛选和分页;FormPanel则用于创建...

    ExtJS demo

    4. **Spring MVC集成**:设计RESTful API接口,通过@RequestMapping注解处理HTTP请求,返回JSON数据供DWR解析。 5. **数据绑定**:利用ExtJS的数据模型(Model)、数据存储(Store)和视图(View)进行双向数据绑定...

    dwr和EXT的整合

    - 调用DWR方法:在EXTJS的JavaScript代码中,通过DWR API调用服务器端的方法,获取或更新数据。 - 绑定数据到EXTJS组件:将从服务器获取的数据绑定到EXTJS的组件,如表格、树形结构等,实现数据的实时更新。 4. ...

    DWR中文教程(教程实在不可多得)

    - **数据交换格式**:除了XML,DWR也支持JSON等其他数据格式进行交换,以提高性能和兼容性。 5. **DWR的安全性与优化** - DWR提供了安全机制,如CSP(Content Security Policy)和白名单,以防止跨站脚本攻击。 ...

    extjs数据存储与传输

    通过`DWRProxy`,EXT可以直接与DWR服务进行交互,获取数据或调用方法,无需编写复杂的Ajax代码,极大地简化了前后端的通信流程。 总之,`Ext.data`及其组件为开发者提供了强大的数据管理和通信能力,使得在Extjs...

    An Introduction To Ajax

    通过EXTJS的组件展示数据,DWR负责异步通信,Spring处理后端逻辑,可以创建出高效、互动性强的Web应用。 总结来说,"An Introduction To Ajax"涉及的是使用EXTJS、DWR和Spring构建Ajax驱动的Web应用。这些技术的...

Global site tag (gtag.js) - Google Analytics