- 浏览: 335718 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (249)
- 无废话ExtJs 系列教程 (26)
- jQuery (6)
- 钦波工作后的生活 (5)
- 工作/生活闲谈 (16)
- java基础知识 (44)
- java web (14)
- Struts (1)
- hibernate (8)
- Jpa (0)
- spring (1)
- ajax (3)
- java项目 (4)
- database (5)
- java 流行框架 (5)
- 异常处理 (4)
- 无废话Android系统教程 (6)
- 开发IDE (1)
- 亲自答过的java笔试题 (2)
- oa项目 (4)
- [ 民政局3.0系统 ]--知识点总结分析--与具体项目无关 (0)
- [ 黑龙江低保系统 ]--知识点总结分析--与具体项目无关 (2)
- 工作笔试 (1)
- xml (1)
- telecom项目分析 (13)
- swing (0)
- String运用 (2)
- css (1)
- 页面 (1)
- Html5 (2)
- oracle (4)
- 网站 (1)
- django (1)
- python (4)
- 民航数据中心遇到与解决的问题 (1)
- 平时关注的技术或特效 (1)
- Linux 命令 (2)
- 服务器监控工具 (1)
最新评论
-
wwytwen123:
[*]
java类中静态域、块,非静态域、块,构造函数的初始化顺序(回钦波) -
junying280efun:
yingtao.huang@gmail.com仁兄,麻烦你给我 ...
jBPM Web Designer(jBPM Web 设计器、jBPM 流程设计器、工作流程设计器) -
mobeicanglang:
我觉得楼主的例子全部都有错误,题目明明说的是try{}语句中有 ...
try return finally -
ashy1q:
楼主最后那段代码重复了,写了两遍。知识很详细,很基础,学习了。 ...
java类中静态域、块,非静态域、块,构造函数的初始化顺序(回钦波) -
185552143:
你好!
为什么我这样写p${m.id},会报错的?
能我帮我解 ...
Session问题
文章分类:Web前端
GridPanel上显示数据,可以使用Struts,也可以使用Servlet的方法,两者的用法相近,所以,给出后者的实现方法:
这里先列出HTML代码:
- <%@ page language="java" import="java.util.*" pageEncoding="GB18030"%>
- <%
- String path = request.getContextPath();
- String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/";
- %>
- <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
- <html>
- <head>
- <link rel="stylesheet" type="text/css" href="../resources/css/ext-all.css" />
- <script type="text/javascript" src="../adapter/ext/ext-base.js"></script>
- <script type="text/javascript" src="../js/ext-all-debug.js"></script>
- <link rel="stylesheet" type="text/css" href="../css/grid-examples.css" />
- <link rel="stylesheet" type="text/css" href="../css/examples.css" />
- <link rel="stylesheet" type="text/css" href="css/styles.css" />
- <title>后台登陆页面</title>
- </head>
- <body>
- <script type="text/javascript" src="../css/examples.js"></script>
- <script type="text/javascript">
- Ext.onReady(function(){
- var win;
- var button = Ext.get('show-btn');
- button.on('click', function(){
- // create the window on the first click and reuse on subsequent clicks
- if(!win){
- win = new Ext.Window({
- applyTo:'hello-win',
- layout:'fit',
- width:500,
- height:500,
- closeAction:'hide',
- plain: true,
- items: new Ext.TabPanel({
- applyTo: 'hello-tabs',
- autoTabs:true,
- activeTab:0,
- deferredRender:false,
- border:false,
- items : [ {
- title : '添加操作',
- html : '<iframe width=100% height=100% src=address_add.jsp />'
- } ]
- })
- });
- }
- win.show(this);
- });
- //下面是做列表(原来是通过HttpProxy和Servlet来实现JS与数据库数据的交互)
- var store = new Ext.data.JsonStore({
- root: 'bugs',
- totalProperty: 'totalCount',
- idProperty: 'threadid',
- remoteSort: true,
- fields: ['id','name','sex','mobile','email','qq','company','address','postcode'],
- proxy: new Ext.data.HttpProxy({
- //url:'http://localhost:8080/ExtjsPaging/Bug',
- url:'http://localhost:8080/Jstudio_v1_0029_extjs_jsp/DataServlet',
- method:'GET'
- })
- });
- store.setDefaultSort('id', 'desc');
- var grid = new Ext.grid.GridPanel({
- width:"100%",
- height:550,
- title:'通讯录列表',
- store: store,
- trackMouseOver:false,
- disableSelection:false,
- loadMask: true,
- // grid columns
- columns:[{
- header: "序号",
- dataIndex: 'id',
- width: 70,
- align: 'center',
- // renderer: renderTopic,
- sortable: true
- },{
- header: "姓名",
- dataIndex: 'name',
- width: 100,
- align: 'center',
- //hidden: true,
- sortable: true
- },{
- header: "性别",
- dataIndex: 'sex',
- width: 70,
- align: 'center',
- //sortable: true
- },{
- //id: 'mobile',
- header: "手机号码",
- dataIndex: 'mobile',
- width: 200,
- align: 'center',
- //renderer: renderLast,
- // sortable: true
- },{
- header: "电子邮件",
- dataIndex: 'email',
- width: 200,
- align: 'center',
- // sortable: true
- },{
- header: "QQ号码",
- dataIndex: 'qq',
- width: 200,
- align: 'center',
- // sortable: true
- },{
- header: "公司名称",
- dataIndex: 'company',
- width: 200,
- align: 'center',
- // sortable: true
- },{
- header: "地址",
- dataIndex: 'address',
- width: 300,
- align: 'center',
- // sortable: true
- },{
- header: "邮编",
- dataIndex: 'postcode',
- width: 100,
- align: 'center',
- // sortable: true
- }
- ],
- // customize view config
- viewConfig: {
- forceFit:true,
- enableRowBody:true,
- showPreview:false,
- getRowClass : function(record, rowIndex, p, store){
- if(this.showPreview){
- p.body = '<p>'+record.data.excerpt+'</p>';
- return 'x-grid3-row-expanded';
- }
- return 'x-grid3-row-collapsed';
- }
- },
- // paging bar on the bottom
- bbar: new Ext.PagingToolbar({
- pageSize: 25,
- store: store,
- displayInfo: true,
- displayMsg: 'Displaying topics {0} - {1} of {2}',
- emptyMsg: "No topics to display",
- items:[
- '-', {
- pressed: true,
- enableToggle:true,
- text: 'Show Preview',
- cls: 'x-btn-text-icon details',
- toggleHandler: function(btn, pressed){
- var view = grid.getView();
- view.showPreview = pressed;
- view.refresh();
- }
- }]
- })
- });
- // render it
- grid.render('topic-grid');
- // trigger the data store load
- store.load({params:{start:0, limit:25}});
- });
- </script>
- <input type="button" id="show-btn" value="添加联系人" /><br /><br />
- <div id="hello-win" class="x-hidden">
- <div class="x-window-header">Hello Dialog</div>
- <div id="hello-tabs"></div>
- </div>
- <div id="topic-grid"></div>
- </body>
- </html>
<%@ page language="java" import="java.util.*" pageEncoding="GB18030"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <link rel="stylesheet" type="text/css" href="../resources/css/ext-all.css" /> <script type="text/javascript" src="../adapter/ext/ext-base.js"></script> <script type="text/javascript" src="../js/ext-all-debug.js"></script> <link rel="stylesheet" type="text/css" href="../css/grid-examples.css" /> <link rel="stylesheet" type="text/css" href="../css/examples.css" /> <link rel="stylesheet" type="text/css" href="css/styles.css" /> <title>后台登陆页面</title> </head> <body> <script type="text/javascript" src="../css/examples.js"></script> <script type="text/javascript"> Ext.onReady(function(){ var win; var button = Ext.get('show-btn'); button.on('click', function(){ // create the window on the first click and reuse on subsequent clicks if(!win){ win = new Ext.Window({ applyTo:'hello-win', layout:'fit', width:500, height:500, closeAction:'hide', plain: true, items: new Ext.TabPanel({ applyTo: 'hello-tabs', autoTabs:true, activeTab:0, deferredRender:false, border:false, items : [ { title : '添加操作', html : '<iframe width=100% height=100% src=address_add.jsp />' } ] }) }); } win.show(this); }); //下面是做列表(原来是通过HttpProxy和Servlet来实现JS与数据库数据的交互) var store = new Ext.data.JsonStore({ root: 'bugs', totalProperty: 'totalCount', idProperty: 'threadid', remoteSort: true, fields: ['id','name','sex','mobile','email','qq','company','address','postcode'], proxy: new Ext.data.HttpProxy({ //url:'http://localhost:8080/ExtjsPaging/Bug', url:'http://localhost:8080/Jstudio_v1_0029_extjs_jsp/DataServlet', method:'GET' }) }); store.setDefaultSort('id', 'desc'); var grid = new Ext.grid.GridPanel({ width:"100%", height:550, title:'通讯录列表', store: store, trackMouseOver:false, disableSelection:false, loadMask: true, // grid columns columns:[{ header: "序号", dataIndex: 'id', width: 70, align: 'center', // renderer: renderTopic, sortable: true },{ header: "姓名", dataIndex: 'name', width: 100, align: 'center', //hidden: true, sortable: true },{ header: "性别", dataIndex: 'sex', width: 70, align: 'center', //sortable: true },{ //id: 'mobile', header: "手机号码", dataIndex: 'mobile', width: 200, align: 'center', //renderer: renderLast, // sortable: true },{ header: "电子邮件", dataIndex: 'email', width: 200, align: 'center', // sortable: true },{ header: "QQ号码", dataIndex: 'qq', width: 200, align: 'center', // sortable: true },{ header: "公司名称", dataIndex: 'company', width: 200, align: 'center', // sortable: true },{ header: "地址", dataIndex: 'address', width: 300, align: 'center', // sortable: true },{ header: "邮编", dataIndex: 'postcode', width: 100, align: 'center', // sortable: true } ], // customize view config viewConfig: { forceFit:true, enableRowBody:true, showPreview:false, getRowClass : function(record, rowIndex, p, store){ if(this.showPreview){ p.body = '<p>'+record.data.excerpt+'</p>'; return 'x-grid3-row-expanded'; } return 'x-grid3-row-collapsed'; } }, // paging bar on the bottom bbar: new Ext.PagingToolbar({ pageSize: 25, store: store, displayInfo: true, displayMsg: 'Displaying topics {0} - {1} of {2}', emptyMsg: "No topics to display", items:[ '-', { pressed: true, enableToggle:true, text: 'Show Preview', cls: 'x-btn-text-icon details', toggleHandler: function(btn, pressed){ var view = grid.getView(); view.showPreview = pressed; view.refresh(); } }] }) }); // render it grid.render('topic-grid'); // trigger the data store load store.load({params:{start:0, limit:25}}); }); </script> <input type="button" id="show-btn" value="添加联系人" /><br /><br /> <div id="hello-win" class="x-hidden"> <div class="x-window-header">Hello Dialog</div> <div id="hello-tabs"></div> </div> <div id="topic-grid"></div> </body> </html>
然后给出实现Servlet类
- package com.lee.servlet;
- import java.io.IOException;
- import java.io.PrintWriter;
- import java.util.Hashtable;
- import java.util.Iterator;
- import java.util.List;
- import javax.servlet.ServletException;
- import javax.servlet.http.HttpServlet;
- import javax.servlet.http.HttpServletRequest;
- import javax.servlet.http.HttpServletResponse;
- import com.lee.dao.ServletDao;
- public class DataServlet extends HttpServlet {
- @Override
- protected void doGet(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- String sql = "select * from address";
- ServletDao sd = new ServletDao();
- List<Hashtable<String, String>> list2 = sd.selectData(sql);
- Iterator<Hashtable<String, String>> it = list2.iterator();
- StringBuilder sb = new StringBuilder();
- sb.append("{totalCount:14,bugs:[");
- while(it.hasNext()) {
- Hashtable<String, String> hash2 = it.next();
- //String name2 = hash2.get("qq");
- sb.append("{");
- sb.append("id:" + hash2.get("id"));
- sb.append(",name:" + "\'" + hash2.get("name") + "\'");
- sb.append(",sex:" + "\'" + hash2.get("sex") + "\'");
- sb.append(",mobile:" + "\'" + hash2.get("mobile") + "\'");
- sb.append(",email:" + "\'" + hash2.get("email") + "\'");
- sb.append(",qq:" + "\'" + hash2.get("qq") + "\'");
- sb.append(",company:" + "\'" + hash2.get("company") + "\'");
- sb.append(",address:" + "\'" + hash2.get("address") + "\'");
- sb.append(",postcode:" + "\'" + hash2.get("postcode") + "\'");
- sb.append("},");
- }
- String json = sb.substring(0, sb.length() - 1);
- json += "]}";
- response.setContentType("text/html");
- response.setCharacterEncoding("UTF-8");
- PrintWriter out = response.getWriter();
- out.println(json);
- out.close();
- }
- @Override
- protected void doPost(HttpServletRequest request, HttpServletResponse response)
- throws ServletException, IOException {
- doGet(request, response);
- }
- }
package com.lee.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.Hashtable; import java.util.Iterator; import java.util.List; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import com.lee.dao.ServletDao; public class DataServlet extends HttpServlet { @Override protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { String sql = "select * from address"; ServletDao sd = new ServletDao(); List<Hashtable<String, String>> list2 = sd.selectData(sql); Iterator<Hashtable<String, String>> it = list2.iterator(); StringBuilder sb = new StringBuilder(); sb.append("{totalCount:14,bugs:["); while(it.hasNext()) { Hashtable<String, String> hash2 = it.next(); //String name2 = hash2.get("qq"); sb.append("{"); sb.append("id:" + hash2.get("id")); sb.append(",name:" + "\'" + hash2.get("name") + "\'"); sb.append(",sex:" + "\'" + hash2.get("sex") + "\'"); sb.append(",mobile:" + "\'" + hash2.get("mobile") + "\'"); sb.append(",email:" + "\'" + hash2.get("email") + "\'"); sb.append(",qq:" + "\'" + hash2.get("qq") + "\'"); sb.append(",company:" + "\'" + hash2.get("company") + "\'"); sb.append(",address:" + "\'" + hash2.get("address") + "\'"); sb.append(",postcode:" + "\'" + hash2.get("postcode") + "\'"); sb.append("},"); } String json = sb.substring(0, sb.length() - 1); json += "]}"; response.setContentType("text/html"); response.setCharacterEncoding("UTF-8"); PrintWriter out = response.getWriter(); out.println(json); out.close(); } @Override protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { doGet(request, response); } }
再是 dao层:(内是相关的测试)
- package com.lee.dao;
- import java.sql.Connection;
- import java.sql.DriverManager;
- import java.sql.ResultSet;
- import java.sql.Statement;
- import java.util.ArrayList;
- import java.util.Hashtable;
- import java.util.Iterator;
- import java.util.List;
- import java.sql.ResultSetMetaData;
- public class ServletDao {
- public List selectData(String sql) {
- //List<Object> list = new ArrayList<Object>();
- List<Hashtable<String, String>> list = new ArrayList<Hashtable<String,String>>();
- try {
- Class.forName("com.mysql.jdbc.Driver");
- String url = "jdbc:mysql://localhost:3306/ssh_ext_demo";
- Connection conn = DriverManager.getConnection(url, "root", "123");
- Statement stmt = conn.createStatement();
- ResultSet rs = stmt.executeQuery(sql);
- ResultSetMetaData rsmd = rs.getMetaData();
- while(rs.next()) {
- Hashtable<String, String> hash =new Hashtable<String, String>();
- for(int i =1;i<=rsmd.getColumnCount();i++){
- String field = (String)rsmd.getColumnName(i);
- String value = (String)rs.getString(i);
- if(value == null)
- value="";
- hash.put(field, value);
- }
- list.add(hash);
- }
- } catch (Exception e) {
- e.printStackTrace();
- }
- return list;
- }
- public static void main(String[] args) {
- String s = "select * from address";
- ServletDao sd = new ServletDao();
- List<Hashtable<String, String>> list2 = sd.selectData(s);
- Iterator<Hashtable<String, String>> it = list2.iterator();
- StringBuilder sb = new StringBuilder();
- sb.append("{totalCount:14,bugs:[");
- while(it.hasNext()) {
- Hashtable<String, String> hash2 = it.next();
- //String name2 = hash2.get("qq");
- sb.append("{");
- sb.append("id:" + hash2.get("id"));
- sb.append(",name:" + "\'" + hash2.get("name") + "\'");
- sb.append(",sex:" + "\'" + hash2.get("sex") + "\'");
- sb.append(",mobile:" + "\'" + hash2.get("mobile") + "\'");
- sb.append(",email:" + "\'" + hash2.get("email") + "\'");
- sb.append(",qq:" + "\'" + hash2.get("qq") + "\'");
- sb.append(",company:" + "\'" + hash2.get("company") + "\'");
- sb.append(",address:" + "\'" + hash2.get("address") + "\'");
- sb.append(",postcode:" + "\'" + hash2.get("postcode") + "\'");
- sb.append("},");
- }
- String json = sb.substring(0, sb.length() - 1);
- json += "]}";
- System.out.println(json);
- }
- }
package com.lee.dao; import java.sql.Connection; import java.sql.DriverManager; import java.sql.ResultSet; import java.sql.Statement; import java.util.ArrayList; import java.util.Hashtable; import java.util.Iterator; import java.util.List; import java.sql.ResultSetMetaData; public class ServletDao { public List selectData(String sql) { //List<Object> list = new ArrayList<Object>(); List<Hashtable<String, String>> list = new ArrayList<Hashtable<String,String>>(); try { Class.forName("com.mysql.jdbc.Driver"); String url = "jd发表评论
-
无废话ExtJs 系列教程十四----(五) [折叠布局:AccordionLayout ]
2015-07-03 16:10 8021:折叠布局---AccordionLa ... -
无废话ExtJs 系列教程十四——(四) [边框布局:BorderLayout ]
2015-07-03 16:01 6801:边框布局--BorderLayout Ex ... -
无废话ExtJs 系列教程十四-----(三) [卡片式布局:CardLayout ]
2015-07-03 15:54 9601:Ext.layout.CardLayout的 ... -
无废话ExtJs 系列教程十四-----(二) [列布局:ColumnLayout ]
2015-07-03 15:48 7641:Ext.layout.ColumnLayout ... -
无废话ExtJs 系列教程十四-----(一) [锚点布局:AnchorLayout ]
2015-07-03 15:32 7801:Ext.layout.AnchorLayout ... -
无废话ExtJs 系统教程十九[动态复选框:RemoteCheckboxGroup]
2015-06-15 14:03 734我们在开发系统的时候经常会用到 Checkgroup 由后 ... -
无废话ExtJs 系列教程十八[继承:Extend]
2015-06-14 22:48 613在开发中,我们在使用视图组件时,经常要设置宽度,高度,标题 ... -
无废话ExtJs 系列教程十七[数据交互:AJAX]
2015-06-14 19:42 5691.代码如下: <%@ page language ... -
无废话ExtJs 系列教程十五[树:TreePanel]
2015-06-13 13:23 7681. index.jsp代码如下: <%@ pag ... -
无废话ExtJs 系统教程十四[列表:GridPanel]
2015-06-11 14:43 615在Extjs中,GridPanel用于数据显示,即我们平时说 ... -
无废话ExtJs 系列教程十三[页面布局:Layout]
2015-06-04 18:22 961首先解释什么是布局: 来自百度词典的官方解释:◎ 布局 ... -
无废话ExtJs 教程十二[员工信息表Demo:AddUser]
2015-06-04 17:41 726前面我们共已经学过10种表单组件,这些组件是我们在开发过程中 ... -
无废话ExtJs 教程十一[下拉列表联动:Combobox_Two]
2015-06-03 21:16 555不管是几级下拉列表的联动实现本质上都是根据某个下拉列表的变化 ... -
无废话ExtJs 教程十[下拉列表:Combobox]
2015-06-03 21:03 956继上一节内容,我们在表单里加了个一个下拉列表: 1. i ... -
无废话ExtJs 教程九[单选组:RadioGroup、复选组:CheckBoxGroup]
2015-06-02 18:48 815继上一节内容,我们 ... -
无废话ExtJs 教程八[数字字段:NumberField、隐藏字段Hidden、日期字段:DataFiedl]
2015-06-01 17:31 1002继上第六节内容,我们在表单里加了个一个数字字段,隐藏字段,日 ... -
无废话ExtJs 教程七[登陆窗体Demo:Login]
2015-05-28 17:15 811在这节我们通过前几 ... -
无废话ExtJs 教程六[按钮:Button]
2015-05-27 18:32 568继上一节内容,我们在表单里加了个两个按钮“提交”与重置。如下 ... -
无废话ExtJs 教程五[文本框:TextField]
2015-05-27 14:45 902继上一节内容,我们在表单里加了个两个文本框。如下所示代码区 ... -
无废话ExtJs 教程四[表单:FormPanel]
2015-05-26 22:35 473继上一节内容,我们在窗体里加了个表单。如下所示代码区ite ...
相关推荐
通过Servlet让Extjs GridPanel 显示数据库数据
ExtJs GridPanel双击事件获得双击的行,双击行可以选中前面的checkbox,并获得行号
extjs显示数据库代码,实例。
Extjs和数据库交互,增删改查Extjs和数据库交互,增删改查(修改测试通过)
ext精髓,Extjs如何与数据库交互,可以很快的叫你EXT一些知识
使用extjs4+servlet对extjs中grid数据进行填并实现增删改查等功能!
此文件用于项目首页内容,使用了ExtJs中的GridPanel
ExtJS的GridPanel导出excel文件,方便快捷易懂!
ExtJs和Java通过Servlet交互实现数据库增删查改分页
Extjs gridpanel 出现横向滚动条问题的解决方法,在gridpanel中加入以下代码即可。
extjs和servlet数据交互的例子,对初次接触这方面的学习很有帮助
NULL 博文链接:https://topbox163.iteye.com/blog/1276463
一个关于GridPanel的使用例子 介绍了Proxy,JsonReader Store gridPanel等几个对象的简单使用
Extjs的初学者写的一个Extjs的小例子,前台是Extjs后台是Servlet,将例子导入到myeclipse中,数据源换成相应的你自己的数据库连接,数据库连接在util里,就可以实现.
Extjs和后台数据库交互的程序,增删改查(终极版),个人测试过,直接导入myeclipse,然后启动tomcat即可运行,增删改查都实现了,可成功运行。 如有问题,可联系我,一起解决。
Extjs如何与数据库交互
使用JDBC访问sqlserver 获得数据 生成Json串 Extjs 动态加载Tree 这是个完整项目 但是数据源需要自己配置 重在演示整个流程
在使用extjs gridpanel时,当将数据载入时,grid中的数据并没有显示出来。
NULL 博文链接:https://xiaohewoai.iteye.com/blog/409898
Extjs分页使用java实现数据库数据查询.docx