JiveJdon Community Forums
在线423人   首页   主题表   培训咨询   标签   精华   查搜   注册    登陆 RSS
首页 » 论坛 » 开源项目大家谈
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表
???en_US.forumThreadNext.name??? 下一主题
Go 总共有 0 回复 / 1
 发表新帖子   回复该主题贴
wlmouse

悄悄话
发表文章: 117
注册时间: 2006年11月09日 15:58
猫学Grails之第一个程序 2008年01月25日 13:19 到本帖网址 加入本帖到收藏夹 发送到手机 回复该主题
标签列表 grails(3)     
完成了安装可以开始编写程序了。猫咪是按照书上的例子一步步做的。书上用的是一个赛跑俱乐部的例子。
  首先定义领域对象,这里有两个对象,跑道和注册。这是个1:N的关系。
代码如下:


//跑道
class Race {
String name
//名称
Date startDateTime
//开始时间
String city
//城市
String state 状态
Float distance
Float cost
Integer maxRunners = 10000
//最大人数
static hasMany = [registrations:Registration]
//Race有很多Registration
}

//注册
class Registration {
Race race
//所属跑道
String name
//名字
Date dateOfBirth
String gender='F'
String postalAddress
String emailAddress
Date createdAt = new Date()
static belongTo = Race
//表示Registration 属于Race

static optionals =[
"postalAddress"] //表示该属性可选
}

在项目根目录下使用“grails create-domain-class”命令建立对象。执行后提示输入对象名,输入Race。然后用同样方法建立Registration。可以看到,在grails-app的domain目录下,有两个新的文件Race.groovy和Registration.groovy。里面类是空的,把代码拷贝进去。OK。这样领域模型就建立好了。Grails会根据领域对象自动建立数据库表。对象关系映射之类的系统会自动帮你做好。
其中,在Race中的hasMany表示一个跑道有多个注册。同时,在Registration中用belongTo表示注册属于跑道。这样就可以在删除跑道的时候同时删除注册。而删除注册的时候不会删除跑道。
然后创建控制器,我们就可以进行简单的CRUD了。在项目根目录下输入“grails create-controller”,然后输入Race就可以建立Race对象的控制器了。然后再同样建立Registration的。
现在可以在grails-app\controllers下看到RaceController.groovy和RegistrationController.groovy文件。这就是控制器的源文件。同时在test目录中会生成单元测试用例。
现在要让控制器进行对象的CRUD。修改这两个控制器如下:

RaceController.groovy

class RaceController {

def scaffold = Race
}

RegistrationController.groovy

class RegistrationController {

def scaffold = Registration
}

这样就可以了。Grails看到这两行代码,就可以自动生成全部的网页和代码。但是现在只支持非空验证。下次猫咪会把各种验证加上的。现在先跑一下吧。执行“grails run-app”命令。然后就可以进浏览器看结果了。网址http://localhost:8080/MyMiao/。

可以看到,页面上有两个控制器的连接。点击进去就可以进行简单的CRUD操作了。




这个主题有 0 回复 / 1Go
???en_US.forumThreadPrev.name??? 上一主题
  Go back to the topic 返回本主题   Go back to the topic listing返回主题列表    返回页首返回页首
???en_US.forumThreadNext.name??? 下一主题
热点TAG: AOP cache 缓存 DDD EJB 集群 设计模式 Hibernate IOC JiveJdon OO RBAC Seam Spring Struts
正在读取,请等待...
google yahoo 新浪ViVi 365Key网摘 天极网摘 CSDN网摘 添加到百度搜藏 POCO网摘 博采网摘
查询本论坛内 回复超过的热门帖子
     回复该主题贴
标题
 
粗体 斜体 下划线 插入图片 插入代码 插入url链接 插入附件
内容
  发贴前查询 标签列表勿重复发表问题

RSS 手机阅读 add to google add to yahoo
解惑之道在J道 ,打造中国最具影响力的的企业软件社区
OpenSource JIVEJDON v3.0 Powered by JdonFramework Code © 2002-08 jdon.com
anti spam