`
Jcat
  • 浏览: 49931 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论
文章列表
不小心弄出一个线程不安全的Service class ExcelImpService extends AbstractExcelImporter {     ExcelImportService excelImportService     List<Map> imp(FileStore excelFileStore, Map config) {         String excelPath = excelFileStore.path         assert new File(excelPath).exists()         this.read(excelPath) ...
#1 --action里--     println(params.payAmount)   Expense e = new Expense(params)   println(e.payAmount) --页面输入 10o (最后一位是字母option的开头)-- 奇迹发生了,sout输出结果是   10o   10 最终导致存入数据库10 也不知道这个算是自动数据绑定的BUG还是容错机制。。。感觉好危险。。。 #2 背景 it.payDate是excel插件读取excel的日期,类型为org.joda.time.LocalDate 问题场景:在save前后验证 ...
先checkout cd projects svn checkout http://xxxx.googlecode.com/svn/ myoa 然后创建grails项目,Grails自动生成的东西不少,我只把我编辑过的内容上传到了SVN grails create-app myoa 这时create-app命令生成的文件会覆盖checkout出来的文件。从版本控制的角度,相当于有了未提交的新版本,这里用svn update是无法重新下载svn库里的版本的,而需要用svn revert   本地版本是100,库版本是101,用update   本地版本是102,库版本是101,需要用rever ...
应用中,Domain对象往往需要Status、Type属性,且一般就3-5条,各Domain之间也没什么共性,管理起来就非常麻烦。 Grails中,可以通过枚举类型轻松实现 1. 在src/groovy文件夹下创建枚举对象 public enum ExpenseGroupStatus {     New,     Approved,     WriteOff } public enum ExpenseGroupType {     Monthly,     BusinessTrip } 注意,groovy类不支持内部类,所以无法放在Domain内部(就算可以,也不建议,太乱) 文件也可以放 ...
大多数g命令都是默认dev参数的 grails run-app 默认环境为 dev grails war 默认环境为 prod There are 3 preset environments known to Grails: dev, prod, and test for development, production and test. 源代码 public enum Environment {     /** The development environment */     DEVELOPMENT,     /** The production environment */   ...
在Grails项目中,引入第三方包/框架(准确的说是G没有内置的第三方)有3个办法 1. 在plugin库里,选择可用的插件,比如ckeditor,好处是可以自动完成一些配置工作,使用起来很便捷。但要深入使用还需要了解框架的具体知识。 用过的plugin 1) ckeditor:富文本编辑器 2) excel-import:处理excel文件 3) joda-time:excel-import依赖之 2. 编辑BuildConfig.groovy文件    dependencies {         // specify dependencies here under either ...
其实很简单,不过好记性不如烂blog 1. 去官网下载 MySQL-server-5.5.29-1.rhel5.i386.rpm MySQL-client-5.5.29-1.rhel5.i386.rpm 和大哥Oracle不同(server包含了client),小弟的server是server,client是client。 如果不安装client,连mysql(登录用)、mysqladmin(关闭用)命令都没有,所以都需要安装。 2. rpm安装,双击,一切都是自动完成,没有可配置的选项 安装完后:   1) 并没有一个所谓的安装路径,所有文件分散在系统中。。。(这点好不习惯。。,估计是希 ...
今天搞了一下Grails项目的部署,准确的说,部署操作和Grails无关,因为可以很方便的打成war包,就可以放在标准的Java容器里了。 步骤: 1. 用grails命令行或IDEA里直接点按钮,就可以打成war包。这里有个方便之处是,所有以plugin ...
今天做了个上传文件功能的雏形,发现上传后的文件(URI)不受Grails的过滤器控制,用户不登陆也可以访问到这些资源,这自然就不安全咯。 开始还以为是uri匹配的不对,后来查阅文档才明白,Grails的过滤器只对controller有效,对静态资源无能为力(包括网站的各种图标) 引用Static resources aren't served by a controller, so Grails filters (which are wrappers for Spring controller interceptors) won't fire for requests for them. ...
先摘录一段Java中两者的区别 1、拦截器是基于java的反射机制的,而过滤器是基于函数回调 。 2、过滤器依赖与servlet容器,而拦截器不依赖与servlet容器 。 3、拦截器只能对action请求起作用,而过滤器则可以对几乎所有的请求起作用 。(这也就是为什么在Grails文档里,拦截器属于Controlloer章节的一个小节;而过滤器自己是一个章节) 4、拦截器可以访问action上下文、值栈里的对象,而过滤器不能 。 5、在action的生命周期中,拦截器可以多次被调用,而过滤器只能在容器初始化时被调用一次 。 Grails的文档是这样描述的 If your intercepto ...
今天是一个小想法,引出一堆问题,一顿扫盲呀,基础很重要呀。这也印证了之前在论坛讨论Grails时我的观点: 引用grails不适合新手学习哦~ Grails是一个敏捷的MVC框架,更准确的说是以spring、hibernate为基础的一堆框架的集合。 ...
http://grails.org/plugin/ckeditor Grails的插件系统让引入一个新框架需要做的工作简单到爆。 1. 在IDEA中右键点击Plugins(插件),就会列出可用的插件,打勾就安装成功。 2. 在GSP中加入 引用<head> ....    <ckeditor:resources/> .... </head> <body> .... <form> <ckeditor:editor name="myeditor" height="400px" width ...
开发环境版本号 GRAILS_HOME=/workspace/javaspace/grails-2.2.0 TOMCAT_HOME=/workspace/javaspace/apache-tomcat-7.0.34 JAVA_HOME=/workspace/javaspace/jdk1.7.0_10 开发环境重装流程 1. 安装IDEA 2. 安装JDK 3. 安装Grails,版本要和SVN上的版本一致 4. 在IDEA里创建一个空项目(相当于执行了grails create-app命令) 5. 运行grails install-templates命令(web.xml在这里) 6. 从SV ...
Global site tag (gtag.js) - Google Analytics