一、grails 的部分命令
??? 创建新项目:grails create-app (grailsName)
??? 创建新groovy类(自动创建其test类): grails create-domain-class (domainName)
??? 创建groovy类的控制类:grails create-controller (domainName)
? *创建groovy类的所有CRUD操作需要的代码 (包括控制类和view页面): grails generate-all (domainName)
??? 运行项目:grails run-app
二、中文乱码
grails文件创建后的默认编码是“gb2312”
????? 修正方法是使用支持UTF8编辑的Editor,比如UltraEdit。打开源代码后请选择“文件——转换——ASCII到UTF-8编辑”。然后正常输入汉字保存即可。UltraEdit还有一 项设定在“高级——配置——(左面树形菜单)文件处理——Unicode/UTF8检测”。这样,以后再打开这个文件的时候,会识别成UTF-8的编码。 每次编辑的时候应注意状态栏有“U8-DOS字样”。
????? 同理,设置数据库的字符编码,也设成UTF-8的为好。 ??
????? 在启动项目时候设定也行如grails -Dfile.encoding=UTF-8 run-app
?
三、.gsp页面部分标签
?
1、页面数据格式化(例如时间、数据的格式化等)
(1):在racetrack/grails-app/taglib目录下,创建格式化 taglib 文件
eg:RaceTrackTagLib.groovy
class RaceTrackTaglib{
??? //formatDate,标签名称
??? def formatDate = { attrs ->???????????? //接收到的参数,想起java中的 args[]
??? ??? def date = attrs.get('date') //获取参数date
??? ??? if(!date){
??? ??? ??? date = new Date()
??? ??? }
??? ???
??? ??? def format = attrs.get('format') //获取参数,format
??? ??? if(!format){
??? ??? ??? format = "yyyy-MM-dd HH:mm:ss z" //默认格式??? ???
??? ??? }
??? ??? out << new java.text.SimpleDateFormat(format).format(date)??? //输出格式化后的date
??? }
}
(2):页面x.gsp上应用标签"g:formatDate"设置了参数date,format
<g:formatDate date="${raceInstance.startDateTime}" format="yyyy-MM-dd HH:mm"/>
?
2、标签<g:datePicker ...>用于生成可选择的时间下拉框,"precision"用于确定时间精确度,默认精确到"秒" <g:datePicker name="dateOfBirth" value="${registrationInstance?.dateOfBirth}" precision="day" ></g:datePicker>