一步一步学grails:1 开始
?不知道为什么,今天的博客关闭了图片上传功能,不过大家可以到资源中下载。 1、? 生成项目目录结构 选择“FileàNewàOther…àGrailsàNew Grails Project”: ? ? 填写工程名称和工程文件夹,Finish。 2、? 建立“生产编号”的域模型 点工具栏上的 图标,在下拉列表中选择Grails,在弹出的对话框中输入命令create-domain-class ProductionNo: ? 点ok,grails命令立即运行,并可在Eclipse的Console视图中看到如下输出: ? 说明“生产编号”域模型建立完毕。 当然,打开ProductionNo类,我们发现这是一个空类,没有任何代码,我们会在后面完善它。 3、? 建立“协作单位”域模型: 用前面同样的方法,运行grails命令:create-domain-class CooperationUnit,建立“协作单位”域模型。 4、? 生成“生产编号”域的脚手架代码(即控制器和视图): 运行grails命令:generate-all ProductionNo。即可生成“生产编号”域的脚手架。 5、? 生成“协作单位”域的脚手架代码(即控制器和视图): 运行grails命令:generate-all CooperationUnit。即可生成“协作单位”域的脚手架。 由于“协作单位”域相对简单(只需要一个表来存储),下面我先修改它。 6、? 修改“协作单位”域的类代码: 打开“grails-app/domain”下的CooperationUnit.groovy,编写如下代码: class CooperationUnit { ??? String name???????????????? //单位名称 ??? String shortName???????? //缩写 ??? String shortNameEN????????? //英文缩写 ??? String remark??????????? //备注 ??? static constraints = {//定义对各属性的约束 ?????? name(blank:false,unique:true)//单位名称:不能为空,各单位名称不能重复 ?????? shortName(blank:false,size:2..4,unique:true)//缩写:同上,长度2-4 ?????? shortNameEN(blank:false,size:2..2,unique:true)//英文缩写:长度2 ??? } } 其中,中文简称长度为4,即两个中文(1个中文需要2字节)。 7、? 重新生成脚手架 由于脚手架代码是根据域类产生的,所以当我们对域类CooperationUnit进行修改后,需要重新生成它的脚手架。再次运行grails命令:generate-all CooperationUnit即可。 8、? 修改数据库连接: 我们采用的是sql server数据库,在grails-app/conf下的DataSource.groovy文件应进行如下修改: (1)首先是datasource闭包 dataSource { ??? pooled = true ??? driverClassName = "org.hsqldb.jdbcDriver" ??? username = "sa" ??? password = "" } (2)其次是development闭包: development { ????????????? dataSource { ???????????????????? dbCreate = "update" // one of 'create','create-drop','update' ???????????????????? url = ????????????? } ?????? } 这里,我们把数据库指定为本机sqlserver上的IronwareProcess(这个数据库请自己手工建立,空数据库即可,不需要在其中建表)。同时,别忘了将sqlserver的JDBC驱动(sqljdbc.jar文件)放到项目的lib目录下。 (3)最后是test和production闭包: 跟development闭包完全一样 9、? 运行程序: 第一次运行,首先必须要配置运行参数。点击 Run --> Open Run Dialog,选择Java Application 下的IronwareProcess项目,修改Arguments,在VM Arguments中最后一项下边加入: -Dtools.jar=%JAVA_HOME%/lib/tools.jar ? 然后点击下边的Run按钮(第一次要这样运行,以后要运行时就可以直接使用工具栏上的 按钮了)。 运行后,我们可以到IronwareProcess数据库中查看,grails会自动为两个域建立了两张表: ? 现在,你可以在浏览器中输入http://localhost:8080/IronwareProcess来访问我们的程序了: ? 点击红框所示的链接,我们可以对域进行CRUD(增、查、改、删)操作,比如点击下图中的New CooperationUnit链接 ? 在下一个页面表单中,填写必要的内容(备注-remark栏不是必填项,可以不用填): ? 对于其他字段,由于域类中定义的约束,使得输入时必须符合输入规则。 比如前三个字段都是必填内容,而且有两个字段还要求了字符长度必须是2,如英文简称,你会无法输入第3个以上的字符。 这里会有一个问题,因为1个中文在sqlserver中需要两字节存储,而grails在生成表时并不会自动考虑的中文英文的情况,所以它自动产生的表中,shorname这个字段长度仍然为2,而不是4(2个中文,即4个英文)。这样,当我们点击create后会得到一个错误,表示无法插入数据到数据库: ? 因此,我们需要先到数据库中把shortname的长度改为4, ? 然后点击create,我们可以增加一个协作单位(可以到数据库表中查看,确实已在表CooperationUnit中增加了新记录): ? 时页面会显示新增的记录: ? 下端有两个链接,edit链接可以修改记录,delete链接删除记录。点击上端的New cooperationUnit 链接,我们继续增加新的记录,直到把所有协作单位添加完,然后通过上面的CooperationUnit List链接查看所有的记录: ? 该页面提供分页显示,每页显示10条记录。通过点击记录的编号(id)可以进入记录详细显示页面。 下一节我们继续。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |