groovygrails经验baidu

groovygrails经验baidu

ID:34723172

大小:84.65 KB

页数:25页

时间:2019-03-10

groovygrails经验baidu_第1页
groovygrails经验baidu_第2页
groovygrails经验baidu_第3页
groovygrails经验baidu_第4页
groovygrails经验baidu_第5页
资源描述:

《groovygrails经验baidu》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、作者:杨港更新时间:2012年4月6日17:38:311、在gsp页面里写注释,如果注释是中文的话,有时会出现gsp编译错误,可能跟中文字节有关系,解决办法:在中文注释后多加一个空格2、grails如果要连接数据库,那grails开头的jar必须放在项目WEB-INF/lib里,其他jar可以放在web服务器的共享lib里3、grails中的gorm在操作数据库是出错,但没有任何日志记录4、grails服务类的文件名与类的名称必需一致,不然虽然编译通过,但grails内部封装时无法正确识别5、grails工件的类名称,第一个字母必需大写6、grai

2、ls同类工件的类名称不能重名,即使包名称不一样,类名称相同,这种情况也是不行,在grails内部会解析出现问题7、服务类经验:1)、grails服务类的名称,必须以Service结尾,不然在grails里无法正确识别。2)、服务类运行时是单件模式。3)、服务类默认是开启事务(数据库事务),如果没有用到数据库事务最好关闭事务,否则数据库连接可能占用过多,造成连接池里连接不够用。statictransactional=false//禁用事务8、配置使用经验:1)、把数据库配置、日志配置都放在外面,运行时载入,这样工程部署完还可以修改配置。实现方法如下:

3、修改Config.groovygrails.config.locations=["classpath:config/spy.properties","classpath:config/Log4jConfig.groovy","classpath:config/SystemConfig.groovy","classpath:config/DataSource.groovy","classpath:projectconfig/encode.properties"]//spy.properties配置必须放在Log4jConfig.groovy之前,否则

4、Log4jConfig.groovy的配置将被spy.properties里的日志配置覆盖2)、动态加载配置,在控制器里加入以下代码:defwebBaseDir=ServletContextHolder.servletContext.getRealPath('/')defclassdir=ApplicationHolder.application.isWarDeployed()?FilenameUtils.concat(webBaseDir,'WEB-INF/classes'):FilenameUtils.concat(webBaseDir,'..

5、/target/classes');defindex={forward(action:"reloadconfig")}defreloadconfig={//重新载入配置成功25/25defconfig=grailsApplication.configdefreload={deflocations=config.grails.config.locationslocations.each{if(it.startsWith('classpath:')){it=FilenameUtils.concat(classdir,it['classpath:'.le

6、ngth()..-1])it='file:'+it}if(FilenameUtils.isExtension(it,'properties')){//properties文件it=it.replace('file:','file:///')defpro=newProperties()defproFile=newFile(it)if(proFile.exists()){proFile.withInputStream{pro.loadit}config.merge(newConfigSlurper().parse(pro))}}else{//groov

7、y文件config.merge(newConfigSlurper().parse(newURL(it)))}}render"重新载入配置成功!${newDate()}"}defauth=config.control.authif(auth){//是否需要验证if(auth==params.auth){//验证成功reload()}else{//验证失败render'你无权做此操作!'}}else{reload()}}9、使用_Events.groovy把相关的配置在编译时就复制到指定的位置eventCompileStart={ant.copy(to

8、dir:"$classesDir/config",overwrite:true){fileset(dir:"config"

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。