extjs与后台交互

test.jap

<%@ page language="java" contentType="text/html; charset=gbk"
    pageEncoding="gbk"%>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<%@ taglib uri="http://struts.apache.org/tags-html" prefix="html" %>
<%@ taglib uri="http://struts.apache.org/tags-logic" prefix="logic" %>
<%@ taglib uri="http://struts.apache.org/tags-bean" prefix="bean" %>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk">
<title>Insert title here</title>
<link rel="stylesheet" type="text/css" href="extjs/resources/css/ext-all.css" />
<script type="text/javascript" src="extjs/adapter/ext/ext-base.js"></script>
<script type="text/javascript" src="extjs/ext-all.js"></script>
<script type="text/javascript" src="js/test1.js"></script>
<script type="text/javascript">

</script>
</head>

<body>

<html:form styleId="mainform" action="InsertAction" method="post">

<td width="200" align="center">
       
        <html:submit value="bbbbbb" onclick="queryAll();"></html:submit>
        
</td>

         


<div id="grid" style="height:265px;">&nbsp;</div>
<%--<input id="btnAlert" type="button" value="alert框" />

--%><select name="sexList" id="sexList" style="display: none;">
<option>男</option>
<option>女</option>
</select>


</html:form>
</body>
</html>

*****************************************************************************************

test1.js

Ext.onReady(function() {
var sm = new Ext.grid.CheckboxSelectionModel();
// //定义一个ColumnModel,表头中有四列
var cm = new Ext.grid.ColumnModel([
{header:'编号',dataIndex:'id'},
{header:'名称',dataIndex:'name'},
{header:'描述',dataIndex:'descn'}
]);


var ds = new Ext.data.Store({
proxy: new Ext.data.HttpProxy({url:'InsertAction.do?method=TestGoogle'}),
    reader: new Ext.data.JsonReader({
    totalProperty: 'totalProperty',
      root: 'root'}, [ {name: 'id'}, {name: 'name'}, {name: 'descn'}])});


   var grid = new Ext.grid.GridPanel({
   el: 'grid',
   ds: ds,
   cm: cm,
    bbar: new Ext.PagingToolbar({ pageSize: 10, store: ds, displayInfo: true, displayMsg: '显示第 {0} 条到 {1} 条记录,一共 {2} 条', emptyMsg: "没有记录" })
   });
   ds.load({params:{start:0,limit:10}});
grid.render();

});


*************************************************************************************************

insertaction.java

package com.cosmic.struts.action;

import java.io.IOException;
import java.io.PrintWriter;
import java.util.*;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import javax.servlet.http.HttpSession;
import javax.sql.DataSource;

import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;
import org.apache.struts.actions.DispatchAction;

import com.cosmic.conn.CommonDao;
import com.cosmic.conn.CommonData;
import com.cosmic.struts.form.InsertForm;

import net.sf.json.JSONArray;
import net.sf.json.JSONObject;
public class InsertAction extends DispatchAction {


public ActionForward TestGoogle(ActionMapping mapping, ActionForm form,
            HttpServletRequest request,
            HttpServletResponse response) {
   InsertForm insertForm = (InsertForm)form;
   DataSource ds = this.getDataSource(request);
  
   CommonDao dao=new CommonDao(ds);
   CommonData cd = cd = new CommonData();


   try {
   
    List list = dao.getAll();
    Iterator iter = list.iterator();
    String start = request.getParameter("start");
    String limit = request.getParameter("limit");
    int index = Integer.parseInt(start);
    int pageSize = Integer.parseInt(limit);
    boolean flag = false;
    String json = "{totalProperty:73," +
    "root:[";
    for (int i = index; i < pageSize + index && iter.hasNext(); i++)
    {
    for(int j=0;j<index&&flag==false;j++)
    {
     cd = (CommonData) iter.next();
    
    }
    flag = true;
     cd = (CommonData) iter.next();
     json += "{id:" + cd.getCityCode() + ",name:'" + cd.getStaffName() + "',descn:'" + cd.getEmail()+ "'}";
     if(i>71)
     {
      break;
     }
     if (i != pageSize + index - 1) { json += ","; }
   }
    json += "]}";
    response.getWriter().write(json);
   } catch(Exception ex) {}
  
   // return mapping.findForward("success");
    return null;

    }

}

*************************************************************************************************

commondao.java

package com.cosmic.conn;

import java.sql.Connection;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import javax.sql.DataSource;


public class CommonDao {
private DataSource ds = null;

public CommonDao(DataSource ds) {
   this.ds = ds;
}

public List getAll()throws Exception {
   Connection con=null;
   con=ds.getConnection();
   List all=new ArrayList();
   CommonData cd=null;
   try{
   String sql="select * from st_store";
   PreparedStatement pstmt=null;
   pstmt=con.prepareStatement(sql);
   ResultSet rs=pstmt.executeQuery();

   while(rs.next())
   {
    cd=new CommonData();
  

    cd.setCityCode(rs.getString("city_Code"));
    cd.setStaffName(rs.getString("store_code"));
    cd.setEmail(rs.getString("version"));

    all.add(cd);

   
   }
   }catch(SQLException e){
    e.printStackTrace();
   }finally{
    if(con!=null){
      con.close();
     }
   }

   
   return all;
}

public Connection getConnection() throws SQLException{
   return ds.getConnection();
}

public void commit(Connection con) throws SQLException{
   con.commit();
}

public void rollback(Connection con) throws SQLException{
   con.rollback();
}
}

posted @ 2011-08-10 15:32  杉木的征途  阅读(3564)  评论(0编辑  收藏  举报