- 浏览: 342114 次
- 性别:
- 来自: 武汉
最新评论
-
ynymf:
错位问题看这里:http://www.cnblogs.com/ ...
EXTJS制作的嵌套表格实例(点击一行,展开下面的子表) -
xlshlr:
code.php在哪????貌似么有找到这个文件
ExtJS带验证码登录框[新增回车提交] -
langfeng123ac:
二货,这种写法本地又不行,本地有图片,服务器上又没图片。。浪费 ...
JQUERY+ASP.NET的AJAX文件上传(含Demo) -
553718707:
楼主有没有解决方法啊?
EXTJS制作的嵌套表格实例(点击一行,展开下面的子表) -
553718707:
这个代码对于,子表格的列数很多的时候会出现子表格的列与数据行错 ...
EXTJS制作的嵌套表格实例(点击一行,展开下面的子表)
接到任务,要写一个项目协作系统,任务不急,嘿嘿,用extjs试试看
这个系统是部门间用来扯皮用的,md又被当枪头了
自学了1个礼拜,就开始操刀了,代码很简单,模块化,希望对学习extjs的朋友有帮助,也帮俺的blog增加点人气(这样说话,不会扣分吧 ) 嘿嘿 。
献上源码,供大家参考
json格式化很方便,把取出来的数据,传给json格式化的类,就可以了。
这个类是处理sql语句,返回数据,和格式化json
- package com.soa.userbean;
- import java.sql.Connection;
- import java.sql.ResultSet;
- import java.sql.ResultSetMetaData;
- import java.sql.SQLException;
- import java.sql.Statement;
- import java.util.ArrayList;
- import java.util.HashMap;
- import java.util.Iterator;
- import java.util.Map;
- import java.util.Set;
- import javax.naming.Context;
- import javax.naming.InitialContext;
- import javax.sql.DataSource;
- import org.apache.log4j.Logger;
- /**
- * @author Julycn
- *
- */
- public class InitDB {
- Connection conn=null;
- Statement stmt=null;
- ResultSet rs=null;
- ResultSetMetaData rsmd=null;
- static Logger logger=Logger.getLogger(InitDB.class);
- //初始化数据库连接
- public static Connection InitDB(String jndiName) {
- Connection conn=null;
- try{
- Context initContext=(Context) new InitialContext().lookup("java:/comp/env");
- DataSource ds=(DataSource) initContext.lookup(jndiName);
- conn=ds.getConnection();
- }catch(Exception e){
- logger.error("链接数据库失败:"+e);
- }
- return conn;
- }
- //直接执行sql,用于更新,删除,添加
- public boolean execute(String sql,String jndiName){
- conn=InitDB.InitDB(jndiName);
- try{
- if(conn!=null){
- stmt=conn.createStatement();
- stmt.execute(sql);
- return true;
- }
- }catch(Exception e){
- logger.error("操作数据库失败:"+e);
- }finally{
- try {
- stmt.close();
- conn.close();
- } catch (SQLException e) {
- logger.error("关闭数据库失败:"+e);
- }
- }
- return false;
- }
- //获取记录数
- public int findCount(String sql,String jndiName){
- conn=InitDB.InitDB(jndiName);
- int rowCount=0;
- try {
- stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY);
- rs=stmt.executeQuery(sql);
- rs.last();
- rowCount=rs.getRow();
- } catch (SQLException e) {
- e.printStackTrace();
- }finally{
- try {
- rs.close();
- stmt.close();
- conn.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- return rowCount;
- }
- //通过sql语句获取记录数,返回List
- public ArrayList<Object> findBySql(String sql,String jndiName){
- ArrayList<Object> list=new ArrayList<Object>();
- try{
- conn=InitDB.InitDB(jndiName);
- stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE);
- rs=stmt.executeQuery(sql);
- rsmd=rs.getMetaData();
- String columnName="";
- Object columnValue=null;
- while(rs.next()){
- String array="";
- array+="{";
- for(int j=1;j<=rsmd.getColumnCount();j++){
- columnName=rsmd.getColumnName(j);
- columnValue=rs.getObject(columnName);
- array+="\""+columnName+"\"";
- array+=":";
- array+="\""+columnValue+"\"";
- if(j<rsmd.getColumnCount()){
- array+=",";
- }else{
- array+="";
- }
- }
- array+="}";
- list.add(array);
- }
- }catch(Exception e){
- e.printStackTrace();
- }finally{
- try {
- rs.close();
- stmt.close();
- conn.close();
- } catch (SQLException e) {
- e.printStackTrace();
- }
- }
- return list;
- }
- //把数据集处理成Ext可以接受的格式
- public String toExtJson(String table,String sqlContent,int start,int limit,Object cons,String jndiName){
- String sql=generateSql(table,sqlContent, cons);
- System.out.println(sql);
- int totalNum=findCount(sql, jndiName);
- ArrayList<Object> list=findBySql(sql+" LIMIT "+limit+" OFFSET "+start, jndiName);
- int resultNum=list.size();
- String str="";
- str+="";
- str+="{";
- str+="'totalCount':'"+totalNum+"',";
- str+="'rows':";
- str+="[";
- for(int i=0;i<resultNum;i++){
- str+="";
- str+=list.get(i);
- if(i<resultNum-1){
- str+=",";
- }else{
- str+="";
- }
- }
- str+="]";
- str+="}";
- return str;
- }
- // 通过条件生存sql语句
- @SuppressWarnings("unchecked")
- public String generateSql(String table, String sqlContent,Object cons) {
- String sql = "";
- if(sqlContent==null){
- sqlContent="*";
- }
- sql = "select "+sqlContent+" from " + table;
- HashMap hashMap=null;
- if (cons != null) {
- if(cons instanceof HashMap){
- hashMap=(HashMap) cons;
- Set set=hashMap.entrySet();
- Iterator it=set.iterator();
- int k=0;
- while(it.hasNext()){
- Map.Entry me=(Map.Entry) it.next();
- if(k==0){
- sql+=" where ";
- sql+=me.getKey();
- sql+="=";
- sql+=me.getValue();
- }else{
- sql+=" and ";
- sql+=me.getKey();
- sql+="=";
- sql+=me.getValue();
- }
- k++;
- }
- }else{
- sql+=" where "+cons;
- }
- }
- return sql;
- }
- }
package com.soa.userbean; import java.sql.Connection; import java.sql.ResultSet; import java.sql.ResultSetMetaData; import java.sql.SQLException; import java.sql.Statement; import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import java.util.Set; import javax.naming.Context; import javax.naming.InitialContext; import javax.sql.DataSource; import org.apache.log4j.Logger; /** * @author Julycn * */ public class InitDB { Connection conn=null; Statement stmt=null; ResultSet rs=null; ResultSetMetaData rsmd=null; static Logger logger=Logger.getLogger(InitDB.class); //初始化数据库连接 public static Connection InitDB(String jndiName) { Connection conn=null; try{ Context initContext=(Context) new InitialContext().lookup("java:/comp/env"); DataSource ds=(DataSource) initContext.lookup(jndiName); conn=ds.getConnection(); }catch(Exception e){ logger.error("链接数据库失败:"+e); } return conn; } //直接执行sql,用于更新,删除,添加 public boolean execute(String sql,String jndiName){ conn=InitDB.InitDB(jndiName); try{ if(conn!=null){ stmt=conn.createStatement(); stmt.execute(sql); return true; } }catch(Exception e){ logger.error("操作数据库失败:"+e); }finally{ try { stmt.close(); conn.close(); } catch (SQLException e) { logger.error("关闭数据库失败:"+e); } } return false; } //获取记录数 public int findCount(String sql,String jndiName){ conn=InitDB.InitDB(jndiName); int rowCount=0; try { stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_READ_ONLY); rs=stmt.executeQuery(sql); rs.last(); rowCount=rs.getRow(); } catch (SQLException e) { e.printStackTrace(); }finally{ try { rs.close(); stmt.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); } } return rowCount; } //通过sql语句获取记录数,返回List public ArrayList<Object> findBySql(String sql,String jndiName){ ArrayList<Object> list=new ArrayList<Object>(); try{ conn=InitDB.InitDB(jndiName); stmt=conn.createStatement(ResultSet.TYPE_SCROLL_SENSITIVE,ResultSet.CONCUR_UPDATABLE); rs=stmt.executeQuery(sql); rsmd=rs.getMetaData(); String columnName=""; Object columnValue=null; while(rs.next()){ String array=""; array+="{"; for(int j=1;j<=rsmd.getColumnCount();j++){ columnName=rsmd.getColumnName(j); columnValue=rs.getObject(columnName); array+="\""+columnName+"\""; array+=":"; array+="\""+columnValue+"\""; if(j<rsmd.getColumnCount()){ array+=","; }else{ array+=""; } } array+="}"; list.add(array); } }catch(Exception e){ e.printStackTrace(); }finally{ try { rs.close(); stmt.close(); conn.close(); } catch (SQLException e) { e.printStackTrace(); } } return list; } //把数据集处理成Ext可以接受的格式 public String toExtJson(String table,String sqlContent,int start,int limit,Object cons,String jndiName){ String sql=generateSql(table,sqlContent, cons); System.out.println(sql); int totalNum=findCount(sql, jndiName); ArrayList<Object> list=findBySql(sql+" LIMIT "+limit+" OFFSET "+start, jndiName); int resultNum=list.size(); String str=""; str+=""; str+="{"; str+="'totalCount':'"+totalNum+"',"; str+="'rows':"; str+="["; for(int i=0;i<resultNum;i++){ str+=""; str+=list.get(i); if(i<resultNum-1){ str+=","; }else{ str+=""; } } str+="]"; str+="}"; return str; } // 通过条件生存sql语句 @SuppressWarnings("unchecked") public String generateSql(String table, String sqlContent,Object cons) { String sql = ""; if(sqlContent==null){ sqlContent="*"; } sql = "select "+sqlContent+" from " + table; HashMap hashMap=null; if (cons != null) { if(cons instanceof HashMap){ hashMap=(HashMap) cons; Set set=hashMap.entrySet(); Iterator it=set.iterator(); int k=0; while(it.hasNext()){ Map.Entry me=(Map.Entry) it.next(); if(k==0){ sql+=" where "; sql+=me.getKey(); sql+="="; sql+=me.getValue(); }else{ sql+=" and "; sql+=me.getKey(); sql+="="; sql+=me.getValue(); } k++; } }else{ sql+=" where "+cons; } } return sql; } }
评论
3 楼
xiaogu2008
2010-07-14
数据库是什么
能用mysql吗
能用mysql吗
2 楼
littleJava
2010-05-07
对于初学者很有帮助!
1 楼
sywan3596
2009-03-18
谢谢!
发表评论
-
浅谈Coolite 方法调用
2009-06-13 08:24 2879今天需要做个复选框删除,碰到了一个小难题,然后我一通乱写,居然 ... -
ExtJS Loading 悬浮层
2009-06-08 11:45 4219<!DOCTYPE html PUBLIC &q ... -
Ext中TreePanel控件和TabPanel控件搭配测试
2009-03-23 08:58 2647在实际的项目中,左边树形菜单,提供各种功能点击,右边一个面板, ... -
ExtJs grid使用详细[转]
2009-03-08 21:36 89392008-11-20 09:09 Ext ... -
ExtJS带验证码登录框[新增回车提交]
2009-03-08 21:29 7030/** 用户带验证码登 ... -
ExtJs2.0学习系列(14)--Ext.TreePanel之第三式(可增删改的树)
2009-03-04 19:28 1449继续tree的learn! 今天就来个可增删改的树吧,操作数 ... -
extjs中 combobox级联
2009-03-04 19:13 7336关键字: extjs, combobox, 级 ... -
ext动态新增一行之二
2009-03-03 10:39 1441ext 动态 新增行 新增一行(2)------------- ... -
ext动态新增一行
2009-03-03 10:37 1561ext 动态 新增行 新增一行(1)------------- ... -
ext表单之高级选项
2009-03-03 10:36 1163ext表单之高级选项--------------------- ... -
ext实现标签式浏览内容
2009-03-03 10:31 1507Ext.onReady(function(){ E ... -
ext异步树加入子节点事件
2009-03-03 10:30 2144extext异步树加入子节点 ... -
实现Ext combox 动态数据加载
2009-03-02 20:37 2479核心代码如下:(注意名称的对应!) 服务器生成的json数据形 ... -
解决TreeNode.reload()失效的办法
2009-03-02 20:36 3881Ext Api文档里面 TreeNode.reload()是没 ... -
Ext2.0的通用grid包括(增、删、改、查、导出excel)
2009-03-02 20:32 2862下面为扩张grid的 代码/** * @a ... -
ext构造自己的组件
2009-03-02 20:16 1331/*** @title:新闻中心模块* @au ... -
Ext.Window
2009-02-28 17:19 2117var winUpload = new Ext.Window( ... -
ExtJs中的树分析及实现
2009-02-27 18:12 2296<网上抄录> 首先我们来看日志分类树,这一部分我将 ... -
扩展EXTJS框架的内容检查
2009-02-27 10:36 1058Ext.apply(Ext.form.VTyp ... -
刚写的B/S高级查询界面(基于ExtJs框架)
2009-02-26 10:16 4175这几天赶着做一个B/S系统,基于ExtJs框架,从中学了不少东 ...
相关推荐
EXTJS信息系统显然是利用EXTJS框架构建的一个信息管理系统。 在描述中提到了“登陆名字23 密码a”,这可能是指系统有一个预设的用户名和密码,供测试或演示使用。在实际部署中,这样的硬编码凭证是不安全的,应当...
"ExtJs教学管理系统"是一个基于ExtJs框架和.Net后端技术构建的应用程序,旨在提供一套教育机构或学校使用的教学管理解决方案。此系统可能包括学生管理、课程管理、成绩管理、教师管理等多个模块,以帮助教育工作者...
《Extjs酒店管理系统详解》 在信息技术日新月异的时代,高效的管理软件是提升业务效率的关键。"Extjs酒店管理系统"就是这样一款集成了先进技术和强大功能的管理工具,专为酒店行业的运营而设计。该系统由Visual ...
通过这些小例子,你可以了解如何使用ExtJS 4.1来创建用户界面,包括布局管理、组件系统、数据绑定、事件处理等核心概念。 描述中提到的".直接导入myeclipse即可",意味着这些示例代码是用Eclipse的MyEclipse插件...
ExtJs管理系统是一个基于JavaScript的前端开发框架,用于构建企业级的Web应用程序,尤其适用于创建复杂的、数据驱动的用户界面。这个系统充分利用了ExtJs提供的组件化、可重用的UI元素,以及强大的数据绑定和远程...
ExtJS物流管理系统是一款基于Web的物流管理解决方案,利用先进的前端技术ExtJS和后端框架SSH(Struts2、Spring、Hibernate)实现。该系统旨在提供高效、便捷的物流业务流程管理,包括货物跟踪、订单处理、仓储管理等...
在"EXTJS仿桌面系统"这个项目中,我们将探讨EXTJS如何实现类似桌面系统的功能和界面效果。 首先,EXTJS的组件库包含了各种各样的UI元素,如窗口(Window)、面板(Panel)、菜单(Menu)、按钮(Button)等,这些都...
Extjs应用案例: 本酒店管理系统采用三层架构,SQL Server数据库。最主要的是采用了Extjs框架。 酒店系统实现了部分功能。aspx后台页面几乎无代码。业务逻辑处理全部采用Extjs自带的函数。对于学习Extjs的框架的...
通过研究示例代码,你可以加深对EXTJS布局系统、组件通信以及整个EXTJS架构的理解。 总之,EXTJS小例子提供了学习EXTJS框架的好机会,无论是对于初学者还是有一定经验的开发者,都可以从中获取到实际操作的经验,...
EXTJS桌面系统-完整实例 数据库可以根据映射文件自己简历 这里只是为大家展示一下
【ASP.NET + ExtJS 租车系统管理】 ASP.NET 是微软公司推出的一种Web应用程序开发框架,它基于.NET Framework,提供了一种高效、易用且功能强大的工具,用于构建动态网站、Web应用程序和服务。ASP.NET 提供了丰富的...
extjs的登录系统...............................
《基于ExtJS的图书管理系统详解》 图书管理系统是IT领域中的常见应用场景,它涉及到前端用户界面、后端数据处理以及数据库管理等多个技术层面。本文将详细介绍一个使用ExtJS开发的图书管理系统,该系统同时结合了...
OPOAdemo.rar extjs得单页系统实例
ExtJS图标系统允许开发者为按钮、菜单项和其他UI元素添加视觉效果,增强其可识别性和美观性。这些图标通常通过CSS类名引用,可以是矢量图形,以确保在不同分辨率下都能清晰显示。 EasyUI则是一个基于jQuery的轻量级...
《合同管理系统基于EXTJS的开发详解》 在信息化飞速发展的今天,合同管理系统的构建对于企业来说至关重要。它能够高效地处理合同的起草、审批、执行、归档等环节,提高工作效率,降低风险。本系统采用EXTJS进行前端...
在“图书管理系统”这个项目中,Extjs被用来实现用户界面的交互和展示,提供了丰富的组件库,如表格、面板、窗口、菜单等,使得前端界面既美观又功能强大。配合后端的数据处理,可以提供高效的用户交互体验。 项目...
在"EXTJS图书管理系统页面(JAVA)"这个项目中,我们主要关注的是EXTJS在图书管理系统中的应用,以及它与Java后端的交互。 EXTJS提供了一套完整的组件库,包括表格、表单、面板、窗口、菜单等,使得开发者可以方便...