基于Grails 2.3.4的多模板Scaffolding实现
从Grails 2.3开始,Scaffolding被作为一个独立的插件从Grails核心中独立出来,方便大家进行扩展和改造,一直都很希望通过定制多种类型模板来提升开发效率,所以进行了一下尝试,基本上已经可用了。
大致思路:
[list=1]
并通过generateForDomainClass方法将template赋值给:
DefaultGrailsTemplateGenerator
修改方法,接受模板参数:
AbstractResource getTemplateResource(String template) throws IOException {
修改获取模板的目录:
[/list]
验证方法:
验证生成的Controller以及Views均来自对于模板目录
大致思路:
[list=1]
- 运行install-templates安装模板,并在/src/templates/scaffolding目录下建立不同的模板目录,如: TreeView并放入定制的Controller.groovy以及*.gsp模板
- 对命令行进行改造,在Scaffolding生成前指定模板名称:
generate-controller package.domain generate-views package.domain ==> generate-controller package.domain TreeView generate-views package.domain TreeView
- 对脚本_GrailsGenerate.groovy进行改造,解析通过argsMap传递的脚本名称
String template =argsMap['params'].size() >1 ? argsMap['params'][1] : "default"
并通过generateForDomainClass方法将template赋值给:
DefaultGrailsTemplateGenerator
- 对AbstractGrailsTemplateGenerator类(Java)进行改造,增加:
修改方法,接受模板参数:
AbstractResource getTemplateResource(String template) throws IOException {
修改获取模板的目录:
String name = "src/templates/scaffolding/"+templateName+"/" + template;
[/list]
验证方法:
generate-controller business.Domain TreeView generate-views business.Domain TreeView
验证生成的Controller以及Views均来自对于模板目录
相关推荐
hooopo 2014-07-12
80447518 2014-06-18
purpen 2014-05-23
jackyzhuyuanlu 2015-02-12
龙浩然 2015-11-06
daociyiyou 2016-11-07
coderbx 2013-03-11
yehell 2012-04-24
yeyedeyatou 2011-08-04
Ben的程序员生涯 2011-04-29
jieren 2010-02-18
carpenterworm 2009-04-03
trapeze 2008-06-06
掘井之路 2019-07-01