Extjs如何与数据库交互

一般需要添加一组数据,引入一个概念Ext.data.Reader,这里的Reader功能非常单一,只是用来解析数据的到,EXTJS支持不同的数据格式,也就需要不同的数据解析器。而这个Reader就是承担解析器的作用。

1、数组形式数据解析(特殊的JSON形式数据,因此,ArrayReader是JsonReader的子类)

var _store = new Ext.data.Store({
        data:[["陈治文" , "男"] , ["张妍娜" , "女"]],
        reader:new Ext.data.ArrayReader({
             },Ext.data.Record.create(["name" , "sex"]))
        }) ;

解析器为ArrayReader,分别解析["陈治文" , "男"] 和["张妍娜" , "女"],将其转换成Ext.data.Record。

2、JSON形式数据

var _store = new Ext.data.Store({
         data:[{name:"陈治文" , sex:"男"} , {name:"张妍娜" , sex:"女"}],
         reader:new Ext.data.JsonReader({
              } , Ext.data.Record.create(["name" , "sex"]))
         }) ;
        
   alert(_store.getCount()) ;

JsonReader分别解析{name:"陈治文" , sex:"男"}和{name:"张妍娜" , sex:"女"},将这些数据解析成Ext.data.Record类型数据

3、XML形式数据

这里的有个地方比较麻烦,首先,我们必须得构建一个XMLDocument,这样才能形成XML数据,我们这里所讲的是ASPServer的XML组织形式

var _xml = new XML("

陈治文张妍娜< /name>
") ;

这样,就是构建一个XML对象,通过_xml.getValue()得到xmldocument原型

再者,我们还有需要引入一个新型概念——数据代理Ext.data.DataProxy,数据代理的作用就是通过一定的方式来获得数据,目前EXTJS提供三种方式获得数据:内存传入、HTTP传入、跨域传入。我这里所讲是内存传入Ext.data.MemoryProxy

var _store = new Ext.data.Store({
        proxy:new Ext.data.MemoryProxy(_xml.getValue()) ,
        reader:new Ext.data.XmlReader({
              record:"row"
             },Ext.data.Record.create(["name" , "sex"]))
        }) ;
        
   _store.on("load" , function(_store){
         
         alert(_store.getAt(0).getCount()) ;
         
          }) ;
        
   _store.load() ;

 

ExtJS与JSP连接,把数据写入数据库

haha 使用ExtJS颇有心得,下面的问题本来是我问别人的最后自己搞定了,改自一个与PHP的版本。现在有一个ExtJS做的前台注册窗口,窗口中有用户和密码两栏,一个提交按钮。
-----现在,在用户和密码两栏中填入数据,之后点提交按钮,数据通过EXTJS 提交到JSP然后写入数据库。
要全部的代码:ExtJS(前台部分):






extDemo







JSP(后台部分)代码:



<%@ page language="java" contentType="text/html; charset=gb2312"
    pageEncoding="gbk"%>
<%@ page import = "java.sql.*,java.util.*" %>
<%
      request.setCharacterEncoding("gb2312");
      String name=request.getParameter("name");
      String pws=request.getParameter("pws");
      if(name.equals(pws)){
         out.print("{success:true,msg:\'ok\'}");
      }else{
         out.print("{success:true,msg:\'帐户或密码错误\'}");
      }
     
      try{
      String message=pws;
      String sourceURL="jdbc:odbc:driver={Microsoft Access Driver (*.mdb)};DBQ=D://accdb";     //DataBase是Access MDB文件的主文件名
      try{  
          Class.forName("sun.jdbc.odbc.JdbcOdbcDriver");  
          }catch(Exception e){  
           e.printStackTrace();  
       }
      Connection conn=DriverManager.getConnection(sourceURL);//把驱动放入连接
      Statement stmt=conn.createStatement();//创建一个 Statement 对象来将 SQL 语句发送到数据库。
      stmt.executeUpdate("INSERT INTO student VALUES("+"'"+name+"'"+","+"'"+message+"'"+")");
    
      stmt.close();
      conn.close();
    }
    catch(SQLException sqle){
            //System.err.println(sqle);
    }
     
%>

 

你可能感兴趣的:(ExtJS)