1、学生图书管理信息系统个人图书借阅信息系统 学院:计算机学院 专业:网络专业 班级:07-4班 姓名:郑晓朋 学号:310709040429 目录前言 3一、配置开发环境 41.安装JDK 42.安装Grails 53.安装UltraEdit 6二、项目设计 7三、建立项目 81. 在D盘目录下建立一个学生图书信息管理项目。 82. 并且在grails-app/domain/studentmanagement下建立一个BooktM类。 83为BookM类添加属性和限制。 94.然后生成BookM控制器BookMController。 95.在控制器下生成视图文件。 106. 运行即可得到如下页面
2、: 107.点击即可进入学生信息页面: 118.点击便进入学生图书的输入,如下: 119.对bookM页面的一些按钮的功能进行解说,具体如下: 1210. 在list视图中添加到查询的链接: 1211.新增一个用户登陆界面 1312.在领域类中在建一个User类 1313.定制脚手架 14四、实现动态查询 141. 动态查询器: 142查询结果: 15五、优化 161.是错误界面更友好 162.修改跳转页面 16前言随着Ruby on Rails 动态脚本语言的日渐盛行,快速开发的理念逐渐深入民心。但是由于新型的Ruby on Rails 缺乏像Java那样成熟稳健的虚拟机,以及对企业级服务(
3、如分布式事务、消息传递等)的成熟支持,让不少谨慎的企业和开发者观而止步,而Grails的出现正好弥补了这方面的缺陷。Grails构建于Groovy之上,与Java无缝结合,充分利用了Java丰富的第三方开源库。Grails的内核就是基于Spring、Hibernate和SiteMesh这些成熟而完善的框架组合之上的。它可被部署到任何主流的JavaEE应用服务器(如WebSphere、WebLogic等)之上,在为你的应用开发增添强大的动态语言优势的同时,又能直接访问你业务所依赖的那些企业服务。Grails是一个开源网络应用框架,它的宗旨是使用。下面我就来搭建一个网络应用,来展现Grails的各
4、种特征,让我们领略Grails“不重复开发”和“规约重于配置”原则的优势,让我们一起体验Grails简便快捷开发的乐趣。一、配置开发环境1.安装JDKGrails是基于Java的框架,因此在运行Grails之前要安装Java的开发包,即JDK。本次采用的JDK的版本是jdk-6u7。配置JDK的环境变量,包括JAVA_HOME和PATH。 验证JDK安装成功且环境变量设置正确,在DOS窗口下输入javac命令。出现如图结果表示JDK安装成功。2.安装GrailsGrails是一个绿色软件(),解压即可用,将其解压。本次安装的Grails版本是1.1.1。配置环境变量,包括GRAILS_HOME
5、和PATH。验证Grails安装成功且环境变量设置正确,在DOS窗口下输入grails命令。出现如图结果表示Grails安装成功。3.安装UltraEditUltraEdit是一个功能强大的轻量级的IDE工具,它是一个绿色软件(),因此解压后即可使用。本次安装的版本是v14.10。如果出现如图所示的画面则表示UltraEdit安装完成。以上所有的软件都安装完成后, Grails的开发环境就配置完毕了。二、项目设计目标:使用Grails建立图书馆个人图书管理信息。业务流程是:1. 学生个人信息登录系统。2. 录入学生的图书借阅书目其进行增加、删除、修改和查询的操作。3. 录入4. 为了更好的建立
6、领域类,我还是对数据库进行了设计,先设计出了整个应用数据库的ER图,然后由ER图抽象出领域类。5. 很显然,由ER图可知,我们要建立两个领域类,即User、和bookMessage。现在我们给出一种熟悉的Javabean的实现以说明问题(Grails中的domain-class与javabean的定义类似)。User类: class BookM String nameString numberDate dateString booknumberStatic constraints=Name(blank:false)Number(minSize:3)Booknumber(minSize:2,bl
7、ank:false) 三、建立项目1. 在D盘目录下建立一个学生图书信息管理项目。2. 并且在grails-app/domain/studentmanagement下建立一个BooktM类。3为BookM类添加属性和限制。4.然后生成BookM控制器BookMController。5.在控制器下生成视图文件。6. 运行即可得到如下页面:7.点击即可进入学生信息页面:8.点击便进入学生图书的输入,如下:输入信息后点击“Create”按钮即可创建一条学生图书信息。9.对bookM页面的一些按钮的功能进行解说,具体如下:10. 在list视图中添加到查询的链接:进出货明细查询在studentMess
8、age控制器中添加search操作: def search = 添加查询视图:search.gsp (可以从create视图拷贝)将表单的action改为:searchresults 在studentMessage控制器中添加searchresults操作:def searchresults = studentMessageInstanceList:StudentMessage.findAllBynameLike(%+ params.name+% ), StudentMessageInstanceTotal: StudentMessage.count() 添加查询结果视图searchresul
9、ts.gsp(可以从list.gsp拷贝11.新增一个用户登陆界面12.在领域类中在建一个User类 class User String userId String password static constraints = userId(length:2.12,unique:true) password(length:6.15) 在constraints中的字段排列的顺序即为最终在页面上面显示的字段顺序,如果有要加入的约束就在字段的后面的括号中加上约束条件,如果没有要加的约束则括号中什么都不加。这里要注意的是password是String类型,约束的数据是密码的长度应在615个字符之间。同理
10、,对BookM中的限制条件也有相似的理解。13.定制脚手架定制脚手架到目前为止,我们都是直接在控制器里引进def search = 和 def searchresults = 。这个方法到目前为止工作得很好,但是为了优化脚手架,我们要开始定制脚手架。我们要在控制器里加入新的Action。因为声明式的脚手架动态地产生控制器逻辑,所以我们所定义的任何新Action将比默认的Acton优先被处理(如果我们的新Action的跟默认Action同名)。用包含展开了的脚手架代码的控制器来覆盖现有的控制器,首要的事是先删除现有控制器类BookMController.groovy和UserController
11、.groovy。四、实现动态查询1. 动态查询器:根据给定领域类的属性,自动生成查询方法findBy|findAllBy PropertySuffix *Boolean Operator* PropertySuffix 后缀suffix:LessThan - 小于给定值 LessThanEquals -小于或等于给定值 GreaterThan - 大于给定值 GreaterThanEquals - 大于或等于给定值 Like - 等价于 SQL like 表达式 Ilike -类似于 Like, 但不是大小写敏感 NotEqual - 不等于 Between - 介于两个值之间 (需要两个参数) IsNotNull - 不为null的值(不需要参数) IsNull - 为null的值 (不需要参数)2查询结果:在查询页面中,输入查询条件:即可得到查询结果五、优化1.是错误界面更友好2.修改跳转页面修改条该页面使用户刚打开就等够转到用户登陆界面
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1