- 浏览: 196555 次
- 性别:
- 来自: 长沙
文章分类
最新评论
-
chmadmin:
求源码,参考下
Extjs做的一个图书管理系统(详细解析) -
wilddonkey:
lz,我现在自定义了转换器,但是如果输入为空,则自动跳过,虽然 ...
struts2-ognl.MethodFailedException: Method "setId" failed for object -
accpchf:
/** * 懒汉式, * 既有延迟加载功能又能保证线程安全, ...
J2EE面试题集锦(附答案) -
accpchf:
java编程第三题明显错误 A ab = new B(); ...
J2EE面试题集锦(附答案) -
风雨故都:
求源码。参考一下
Extjs做的一个图书管理系统(详细解析)
本系统实质上是由Extjs做的一个网站。主要功能有: 一、登陆页面 由一个登录框、一个flash和一些文字构成 二、主界面 可以看到,主界面的结构如下: 上方:左边是一张图片,右边有一个注销链接和一个关于作者的链接,还显示了当前时间, 这是用javascript实现的 左边:导航栏,用ext里的accordion和treePanel实现的,这里的数据用dwr传过来的, 是直接在java文件里面生成的,主要的权限控制也是在这里实现的。因为这里会根据 用户的不同身份生成不同的数据,包括链接地址。最下边的那个更换皮肤是利用ext 的换肤功能实现的。我只是照抄。 右边:这里是显示和操作主要地方。 三、编程环境 1、 Eclipse 3.3.2(带tomcat插件) 2、 Tomcat6.0 3、 JDK1.6.0_16 4、 mySQL5.1 5、 Extjs2.3 6、 DWR 7、 Struts2.0.14 8、 Spring2.0 9、 Hibernate3.3.2.GA 四、代码目录 new Ext.Button({ text : '保存 ', iconCls:'save', clearCls:'allow-float',//允许浮动 itemCls:'float-left',//向左浮动 handler : function() { if (add_form.form.isValid()) { add_form.form.submit({ url : 'add_reader.do',//提交到服务器 success : function(from, action) { Ext.get('theDiv').remove(); document.getElementById("submitResult").innerHTML= '<br/><br/><br/><br/><br/><div style="margin:10px;font-size:25px;">' + '新读者信息保存成功!</div>'; }, failure : function(form, action) { Ext.MessageBox.show({ title:"保存失败", msg:"保存失败!请认真检查您填入的信息<br/>如果问题仍然存在请联系网站维护人员", icon:Ext.MessageBox.ERROR, buttons:{"ok":"确定"} }); }, waitMsg : '正在保存数据,请耐心等候...' }); // dialog.hide(); } else { Ext.MessageBox.show({ title:"警告", msg:"请填写完登录信息再提交!", icon:Ext.MessageBox.WARNING, buttons:{"ok":"确定"} }); } } }) 然后后台用struts2来接收。 上面这个是第一种ext数据提交方式,还有几种,下面给出(就只给出我试验过的,还有其它的方式,有兴趣的读者可以自己去研究) 1)用jsonStore var bookStore = new Ext.data.JsonStore({ url:"get_book.do",//不带参数:搜索所有的书籍 totalProperty: 'totalCount', pruneModifiedRecords:true, root: 'result', fields:["bookId","bookName","author","price","press","category","releaseTime"] }); bookStore.load({ params:{ start:0, limit:5 } }); 不过这种方式请求数据,我有时候成功,有时候就怎么搞都搞不成 2)Ext.Ajax.request请求数据。这个比较可靠 Ext.Ajax.request({ url:'get1_reader.do',//这里 method:'post', success:function(response,options){ var results = Ext.util.JSON.decode(response.responseText); var record = results.result[0]; alert(record.readerName); 3) dwr的方式。就是用dwr调用dao文件,在dao文件里面实现数据库的调用。但这种方式去请求数据我试了好几次好像不行。希望读者朋友们自己能去试试,如果可以的话把结果告诉我,谢谢!!!。 这里还要讲到的,很重要的一点是ext提供的数据自动验证功能(很强大的功能哦)。 右边是一个更有用的应用这是普通读者修改自己信息时的操作,如果输入的密码不是原密码,则用红线画出来,提交就不能成功。呵呵,这就不用再跳到action中做验证再返回来了。具体实现代码如下 。 首先进入这个页面的时候就发起了一上ajax请求,取得了相关的数据。用的是Ext.Ajax.request。再用 Ext.apply(Ext.form.VTypes,{ oriPsw:function(value){ if(value==record.readerPsw){ return true; }else{ return false; } } }); 然后在组件中加上下面两句就可以了,简单吧! vtype:"oriPsw",
vtypeText:"原始密码不正确,请重新输入", Ext.apply(Ext.form.VTypes,{……………………})是自定义的验证函数,加上vtype:"oriPsw"后组件就会自动调用这里面的函数来验证。
还有,这里的验证一般都采用正则表达式来做条件匹配。下面给出几个例子 Ext.apply(Ext.form.VTypes,{ priceTest:function(value){ //这个验证的是float型的数据 if(/^(-|\+)?\d+(\.\d+)?$/.test(value)){ return true; }else{ return false; } }, idTest:function(value){ if(/^\d+$/.test(value)){//这个验证只允许填入数字 return true; }else{ return false; } }, yearTest:function(value){ if(/\d{4}$/.test(value)){ //这个验证只允许填入四位数字 return true; }else{ return false; } } }); 这些正则表达式都比较简单,想要了解更多的正则表达式的相关知识,可以读一读我写的另一篇文章《正则表达式》,里面简单地介绍了正则表达式的基础知识和常见应用。 2、修改读者信息 可以看到界面分上下两栏。上面这一栏是用来查找读者的。有七个文本框,这些文本框都是选填的,你可以选一个或几个信息来定位一个或几个符合条件的读者。这一个的实现还要谢谢肖波提供的蓝杰任务管理系统,这一个模式是借鉴他的。这里搜索到的信息可以在下面的这个表格中显示出来。当还没进行搜索时,这个表格里面显示的是所有的读者,分布显示的,每页五条,这利用了ext提供的强大的分布功能!!还有那个刷新按钮,可以刷新表格里面的数据。 双击表格中的某一条数据可以进行编辑,界面如下 修改完信息点击保存按钮就可以提交到数据库中去。这里的逻辑和上面那个一样,也是用一个按钮内handler指定的函数提交的。 六、图书信息 1、添加书本信息 上面 的“书的类别”一项,里面的数据是从数据库中直接加载过来的。点击即加载,这是用Ext.data.JsonStore实现的。相应组件如下 new Ext.form.ComboBox({ fieldLabel:"书的类别", id:"category", labelStyle:"text-align:right", editable:false,//既能选择又能输入 allowBlank : false, emptyText:"请选择书的类别", width:(window.screen.width-300)*0.2, store:new Ext.data.JsonStore({ //用json方式获得所有的类别名 url:'get_category.do', totalProperty:'totalCount', root:'result', fields:["category"] }), valueField:'category', displayField:'category', triggerAction:"all"//每次选中一项,之后再选也会将所有列表显示出来。 }) 2、修改书本信息 七、借书管理 1、借书登记
一共有五栏,第一栏选读者,第二栏可以展开,用来搜索特定的读者,第三栏选择一本要借的书,第四栏可以展开,用来搜索特定的书,第五栏要求借书者给出一个具体的归还日期,以便别人再借。点击提交即可完成借书信息的填写,方便吧! 2、修改登记 不多说,和之前的那几个原理一样,双击也可以编辑。 八、还书管理 选择一本,点击还书即可。 九、图书查询 喔,这个是之前的。后来改的如下。加入了是否在馆等信息 十、新书资讯 这里面列出了最新(也就是最后加入)的五本书的详细信息。 其中的数据处理逻辑比较复杂,有兴趣的朋友可以看看我的原代码,不过我用的算法可能很烂,还望指教!!! 十一、建议买的书 这一模块的设计是为了让读者等能推荐一些好书,充实公司的书库。 在下面的空格中填入相应的信息之后点击“加入”就可以把信息添加到数据库,同时 更新上面表格中的信息。管理员可以定时地查看这一项,以参考该买些什么书。 十二、读者信息管理 1、查看和修改个人信息 (上面的这个电话号码不是我的,随便输的) 2、 查看个人已借图书 3、 读者图书查询 界面和前面管理员的那个差不多,不多累赘。
好了,介绍到此为止。谢谢阅读。
1、 添加和修改读者信息
2、 添加和修改图书信息
3、 添加和修改图书借阅信息
4、 还书管理
5、 图书查询
6、 新书资讯
7、 提议买书
8、 读者个人信息查看
9、 读者借还历史查看
10、 页面皮肤更换
其中大部分页面都有图书迅速查询模块,使用者可以多条件自由查询自己想要的信息,这里面的逻辑和算法有的比较复杂。
本项目最难部分有:ajax异步数据交互,Extjs写界面,数据库操作(包括模糊查询),spring + Hibernate + struts2整合extjs和DWR。项目中主要有两大角色,Admin管理员和reader读者。两者的权限控制我采用了一种特殊的方式,只是这一种方式不是到处都适用的,下面会讲到。这里面的页面都是html,没有jsp,因为大部分功能都在js里面实现的。
如果,确认密码和读者密码不一样的话这里会用红色波浪线画册出来,鼠标放上去还会显示出提示内容。呵呵,有一个问题,就是提示字体大小不一样,不知道怎么搞的。
上面是用来查询的,下面是用来显示相应的信息。原理和第一个的差不多
评论
发表评论
-
java版RC4加密解密算法
2010-10-25 11:01 3811我们的一个项目,需要解析一个用户提供的rc4加密后的文件,特 ... -
JAVA7新特性
2010-09-30 14:38 1030Java7新特性 1.运行速度提高了,这个得益于Java7采用 ... -
Java Web开发(JSP、Servlet)乱码终极解决方案
2010-09-30 08:40 1538千万不要看网上那些杂七杂八的解决乱码的文章,解决乱 ... -
马士兵struts2学习笔记(详细版)
2010-09-29 15:57 174815、23_尚学堂马士兵_Struts2_模块包含 ... -
JAVA华为面试题
2010-09-29 15:49 3658这是华为Java的主要面试题目宝典。。。。真的是很有用。。。我 ... -
JVM学习笔记(四)------内存调优
2010-09-29 11:19 979首先需要注意的是在对JVM内存调优的时候不能只看操作系统级别J ... -
JVM学习笔记(三)------内存管理和垃圾回收
2010-09-29 11:15 852JVM内存组成结构 JVM栈 ... -
JVM学习笔记(二)------Java代码编译和执行的整个过程
2010-09-29 11:10 1056Java代码编译是由Java源码编译器来完成,流程图 ... -
JVM学习笔记(一)------基本结构
2010-09-29 11:04 879从Java平台的逻辑结构上来看,我们可以从下图来了解JVM: ... -
Java调用外部exe程序方法
2010-09-29 09:20 1169用java调用外部.exe程序的方法: public ... -
EXT+DWR+SPRING+IBATIS+ORACLE分页显示+模糊查询
2010-09-28 13:14 2109EXT代码: Ext.onReady(fun ... -
Java编程把Word转Pdf
2010-09-28 08:42 2189我的word转pdf用到了一个虚拟的打印机,安装一个Adobe ... -
利用JSP实现的验证码
2010-09-28 08:38 800image.jsp <%@ page contentT ... -
经典的jsp分页显示
2010-09-28 08:34 775< %@ page contentType=" ... -
java类的设计技巧
2010-09-27 09:31 9481)一定将数据设计为私 ... -
Java邮件收发SMTP和POP3实例详解
2010-09-27 09:28 1914SMTP的连接和收发过程: a.建立TCP连接。 b.客户端发 ... -
谈谈java中的NaN值
2010-09-27 09:26 1086什么是NaN ?下面是我查到的结果。 Double中的 ... -
Java Jdbc查询MySQL数据库示例
2010-09-27 09:23 1846import java.sql.Connection; im ... -
Struts2 Error filterStart异常的解决方法总结
2010-09-27 09:01 989今天一位网友让polaris帮忙解决一些jqGrid的问题。在 ... -
JAVA开发编程规范
2010-09-27 08:55 914××××-××-××发布 ...
相关推荐
《EXTJS图书管理系统详解》 EXTJS图书管理系统是一款基于Web的高效、易用的图书管理应用,它结合了Struts2、Spring、iBatis和EXTJS2.2等技术,构建在SQLServer2000数据库之上。下面将详细阐述这个系统的核心组件...
这是一个基于Web的图书管理系统,利用了前端框架ExtJS,后端MVC框架Struts2以及持久层框架Hibernate。下面将详细解析这个系统的核心技术和实现原理。 **ExtJS** 是一个强大的JavaScript库,用于构建富客户端应用...
"ExtJS图书管理系统MySQL版"是一款基于ExtJS前端框架和MySQL数据库构建的图书管理软件。这个系统旨在提供高效、易用的图书管理解决方案,适用于图书馆、教育机构或个人藏书管理。下面将详细介绍该系统的核心技术和...
这个名为“[信息办公]ExtJS 2.2 图书管理系统_bmsh”的压缩包文件,显然包含了一个基于ExtJS 2.2版本构建的图书管理系统。在深入探讨这个系统之前,我们先来了解一下ExtJS 2.2的关键特性。 1. **ExtJS 2.2 版本**:...
ExtJS 2.2 图书管理系统_bmsh 是一个基于Web的计算机毕业设计项目,它利用了JSP(JavaServer Pages)技术和JAVA语言进行开发,并结合了ExtJS 2.2这个JavaScript框架,来构建用户界面和实现交互功能。在这个项目中,...
【图书管理系统】是一个常见的软件开发实践案例,它涵盖了多种技术栈,包括`ibatis`、`extjs`、`spring`和`struts2`。这些技术在IT领域都有着广泛的应用,下面将逐一解析它们各自的功能及其在系统中的角色。 **1. ...
【标题】"JSP信息办公类实例开发源码——ExtJS 图书管理系统"是一个基于Java Server Pages(JSP)技术的Web应用实例,利用了ExtJS框架来构建一个高效的图书管理系统。这个系统的设计目的是为了帮助图书馆或其他图书...
本资源是一个基于ExtJS实现的图书管理系统,适用于bmsh的毕业设计项目。这个系统包含了完整的源代码,可以立即运行,对于学习ExtJS以及实践Web应用开发的学生或开发者来说,是一个非常宝贵的参考资料。 首先,我们...
【图书管理系统】是一种基于Web的软件应用,用于管理和组织图书馆中的各类资源,包括图书、期刊、电子资源等。在这个系统中,用户可以进行图书的添加、删除和修改等操作,提高了图书管理的效率和准确性。本系统采用...
总之,SSH EXT 图书管理系统结合了SSH的稳定性和EXTJS的交互性,通过DWR实现了高效的前后端交互,为图书管理提供了一个全面的解决方案。对于开发者而言,无论是初次接触还是进行二次开发,都能从中受益匪浅,享受到...
例如,在“bookmanage1.0”这个项目中,可能包含了一个图书管理应用。前端使用ExtJS创建了一个图书列表展示界面,用户可以查看、添加、编辑和删除图书。当用户执行这些操作时,ExtJS会通过Ajax向Struts2控制器发送...
这个“Extjs结合Struts版的简单书籍管理系统”示例,很可能是演示如何使用ExtJS创建一个图书管理的界面,如搜索、添加、删除和编辑图书的功能,同时结合Struts2处理后端业务逻辑和数据操作。开发者可以通过阅读代码...
综上所述,这份JavaWeb课程设计实验报告详细介绍了如何开发一个图书管理系统,并且深入探讨了其中涉及的技术细节,包括架构设计、数据库设计、设计模式的应用等方面。这对于学生理解和掌握JavaWeb技术以及软件工程的...
### JavaWeb课程设计图书馆管理系统知识点解析 #### 一、实验目的 本次实验旨在通过实践加深学生对JavaWeb技术的理解,并引入设计模式的概念,使学生能够体会到设计模式在实际项目开发中的应用价值。此外,通过该...
### JavaWeb课程设计——图书馆管理系统知识点解析 ...综上所述,该JavaWeb课程设计——图书馆管理系统不仅涵盖了软件工程的基本流程,而且还深入探讨了多种设计模式的应用,为学生提供了一个良好的实践平台。
这个源码提供了一个完整的图书管理系统的实现,其中Struts负责MVC模式,Spring处理依赖注入和事务管理,Hibernate则用于数据库操作。通过分析这个项目,开发者可以深入了解SSH框架的协同工作方式。 3. **js实现弹出...
这个项目采用ExtJs+struts2+hibernate+spring等技术栈实现了图书管理系统,适合中级开发者用来学习企业级应用的开发方法。 #### 二十四、java聊天程序 该聊天程序支持私聊、公聊、截图、文件传输等功能,是一份...