欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

grails 2.4 scaffolding模板 博客分类: groovy grailsjava

程序员文章站 2024-03-19 23:45:10
...
从Grails 2.3开始,Scaffolding被作为一个独立的插件从Grails核心中独立出来,方便大家进行扩展和改造,一直都很希望通过定制多种类型模板来提升开发效率,所以进行了一下尝试,基本上已经可用了。

大致思路:


    运行install-templates安装模板,并在/src/templates/scaffolding目录下建立不同的模板目录,如: TreeView并放入定制的Controller.groovy以及*.gsp模板
    对命令行进行改造,在Scaffolding生成前指定模板名称:
    Java代码  收藏代码
        generate-controller package.domain 
        generate-views package.domain 
    ==> 
        generate-controller package.domain TreeView 
        generate-views package.domain TreeView 

    对脚本_GrailsGenerate.groovy进行改造,解析通过argsMap传递的脚本名称
    Java代码  收藏代码
    String template =argsMap['params'].size() >1 ? argsMap['params'][1] : "default" 

    并通过generateForDomainClass方法将template赋值给:
    DefaultGrailsTemplateGenerator
    对AbstractGrailsTemplateGenerator类(Java)进行改造,增加:
    增加成员变量: public String templateName = "default";
    修改方法,接受模板参数:
    AbstractResource getTemplateResource(String template) throws IOException {
    修改获取模板的目录:
    Java代码  收藏代码
    String name = "src/templates/scaffolding/"+templateName+"/" + template; 



验证方法:

Java代码  收藏代码
generate-controller business.Domain TreeView 
    generate-views business.Domain TreeView 


验证生成的Controller以及Views均来自对于模板目录
相关标签: grails java