日期:2014-05-16 浏览次数:20394 次
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">