NEO

蜀道难,难于上青天!

导航

2013年6月4日

摘要: 1.理解Flash Scope// 存储一个消息在flash范围fash.message = 'I am available next time you request me!'当这个消息被下一个消息覆盖时就自动销毁2.访问请求参数def userName = request.getParameter('userName')log.info("User Name: ${userName}")简单写法def userName = params.userNamelog.info("User Name: ${userName}" 阅读全文

posted @ 2013-06-04 23:20 页面载入出错 阅读(342) 评论(0) 推荐(0) 编辑

摘要: 日志接口public interface Log {public void debug(Object msg);public void debug(Object msg, Throwable t);public void error(Object msg);public void error(Object msg, Throwable t);public void fatal(Object msg);public void fatal(Object msg, Throwable t);public void info(Object msg);public void info(Object ms 阅读全文

posted @ 2013-06-04 23:10 页面载入出错 阅读(254) 评论(0) 推荐(0) 编辑

摘要: Controller中默认的Action是index,可以通过defaultAction指定默认的Action// Here the 'list' action is the default as there is only one action defnedclass SampleController { def list() {}}这个Controller中只有一个list Action,访问时需要定向到list才能访问到有效路径// In this example 'index' is the default by conventionclass Samp 阅读全文

posted @ 2013-06-04 23:04 页面载入出错 阅读(670) 评论(0) 推荐(0) 编辑

摘要: 单元测试package com.gtunesclass Song { String title String artist Integer duration static constraints = { duration min: 1 }}duration值最小值测试 void testMinimumDuration() { // 设置Song类进行验证测试. . . mockForConstraintsTests Song // 创建一个新的song实例 def song = new S... 阅读全文

posted @ 2013-06-04 22:28 页面载入出错 阅读(162) 评论(0) 推荐(0) 编辑

摘要: 再说会汽车和发动机,只是建立一个one-to-one关系后,生成的关系表为2张对象表和1张关联关系表,但是实际上car和engine是一个整体,从对象的角度分开有点不符合逻辑class Car { String make String model Engine engine}class Engine { String manufacturer Integer numberOfCylinders}所以可以使用嵌入式对象的方式建立两者的关系engine对象不变,修改car,将engine嵌入进去,生成的表就只有一张了,但对象还可以分开处理class Car { ... 阅读全文

posted @ 2013-06-04 22:16 页面载入出错 阅读(146) 评论(0) 推荐(0) 编辑

摘要: 多个domain继承自同一个对象class Person { String frstName String lastName Integer age}class Employee extends Person { String employeeNumber String companyName}class Player extends Person { String teamName}生成的关系为一张表,可以在表中增加一个鉴别字段区分哪条记录是employee,哪条是player,这种方式称为鉴别器识别class Employee extends Perso... 阅读全文

posted @ 2013-06-04 22:12 页面载入出错 阅读(192) 评论(0) 推荐(0) 编辑

摘要: one-to-oneclass Car { Engine engine}class Engine { Car car}这两个关系没有所有者,可以说一辆汽车有一个引擎.也可以说一个引擎有一辆汽车,显然不太够,需要增加一个所有者的标示class Car { Engine engine}class Engine { static belongsTo = [car:Car]}加入这个关系后告诉我们,一个引擎属于一辆汽车,还可以更明确的表示一台车只有一个引擎class Car { static hasOne = [engine: Engine]}至于是哪个是哪个引擎,则在这... 阅读全文

posted @ 2013-06-04 21:58 页面载入出错 阅读(223) 评论(0) 推荐(0) 编辑

摘要: domain对象如下class Person { String frstName String lastName Integer age}属性和字段对应定义class Person { String frstName String lastName Integer age static mapping = { id column:'person_id' frstName column:'person_frst_name' lastName column:'person_last_name' age... 阅读全文

posted @ 2013-06-04 21:25 页面载入出错 阅读(166) 评论(0) 推荐(0) 编辑

摘要: domain对象class Company { String name Integer numberOfEmployees BigDecimal salaryPaidYTD static transients = ['salaryPaidYTD']}salaryPaidYTD属性为瞬时属性,内容不会被保存到数据库还可以用get***方式处理瞬时属性,如下class Company { BigDecimal cash BigDecimal receivables BigDecimal capital BigDecimal getNetWorth(... 阅读全文

posted @ 2013-06-04 21:20 页面载入出错 阅读(199) 评论(0) 推荐(0) 编辑

摘要: 验证domain对象对象class Song { String title String artist Integer duration static constraints = { title(blank: false) artist(blank: false) duration(min: 1) }}验证// -68 是一个无效的值def song = new Song(title:'The Rover', artist:'Led Zeppelin', ... 阅读全文

posted @ 2013-06-04 21:13 页面载入出错 阅读(204) 评论(0) 推荐(0) 编辑