最近时间比较宽裕,所以就将前段时间下载的grails的教程的例子从头跑了一遍. 相比第一次,感觉又懂了不少.
资料来自InfoQ的http://www.infoq.com/cn/minibooks/grails . 达人整理的资料真是没话说啊.
里面需要注意的自然是版本问题,因为这份pdf文档针对的版本比较老了,我用的是grails1.1, 期间碰到些问题在此记录一下:
(我的环境是: mysql5.0.17 grails1.1 jdk1.6)
1.数据库连接配置:
新版本中已经把配置文件放到了'grails-app\conf\DataSource.groovy',并且将相同的配置从dev、test、prop中抽取出来放在‘dataSource’中,因此文中介绍的
class DevelopmentDataSource {
boolean pooling = true
String dbCreate = "update"
String url = "jdbc:mysql://localhost/racetrack_dev"
String driverClassName = "com.mysql.jdbc.Driver"
String username = "jason"
String password = ""
}
新版本下变成
dataSource {
pooled = true
driverClassName = "com.mysql.jdbc.Driver"
username = "lu_feng"
password = "1"
}
... ...
// environment specific settings
environments {
development {
dataSource {
dbCreate = "update" // one of 'create', 'create-drop','update'
url = "jdbc:mysql://localhost/racetrack_dev"
}
}
... ...
}
2. grails里面的generate-all方法的运用
参照例子中的顺序进行练习时,到这一步敲入执行时,会提示XXXController已经存在,是否覆盖时,应该选择是. 我跑了第二次才想起来这个类虽然手工创建了 但是里面没什么实质的内容, 经过这一步之后,里面会展开出很多action定义,直到此时我才明白原来之前页面之间迁移跳转以及页面布局都是怎么出来,顿时才恍然大悟
3.练习到一个search的功能时,老是会报paginate这个标签缺少total参数,比较下页面从search跳转到list页面时,没有向request中存入total对应的参数,我是修改了list.gsp模板中的pagination标签的判断,判断total传入值为空,就不去做分页.
目前测试的工程代码附上
朋友的网站 http://woods2010.cn.alibaba.com/ 专业电子器件代购