当前位置:首页 > 开发 > 开源软件 > 正文

基于Grails 2.3.4的多模板Scaffolding实现

发表于: 2014-01-18   作者:热带翎羽   来源:转载   浏览次数:
摘要: 从Grails 2.3开始,Scaffolding被作为一个独立的插件从Grails核心中独立出来,方便大家进行扩展和改造,一直都很希望通过定制多种类型模板来提升开发效率,所以进行了一下尝试,基本上已经可用了。 大致思路: [list=1] 运行install-templates安装模板,并在/src/templates/scaffolding目录下建立不同的模板目录,如: Tree
从Grails 2.3开始,Scaffolding被作为一个独立的插件从Grails核心中独立出来,方便大家进行扩展和改造,一直都很希望通过定制多种类型模板来提升开发效率,所以进行了一下尝试,基本上已经可用了。

大致思路:

[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)进行改造,增加:
  • 增加成员变量: public String templateName = "default";
    修改方法,接受模板参数:
    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均来自对于模板目录

    基于Grails 2.3.4的多模板Scaffolding实现

    • 0

      开心

      开心

    • 0

      板砖

      板砖

    • 0

      感动

      感动

    • 0

      有用

      有用

    • 0

      疑问

      疑问

    • 0

      难过

      难过

    • 0

      无聊

      无聊

    • 0

      震惊

      震惊

    编辑推荐
    功能:根据Domain定义自动生成CRUD 效果图: 代码: <% import grails.persistence.Event %>&l
    Grails原生的scaffolding机制所生成的代码主要用于模型验证,在实际中基本无法直接在项目中使用,主
    有空来看看我的grails 1.3.7 + extjs 3.4.0 集成模板已实现LCRUD以及M:1,M:N的映射,提提建议 https:
    通过jQuery内置的AJAX功能,直接访问后台获得JSON格式的数据,然后通过jQuer把数据绑定到事先设计好
    通过jQuery内置的AJAX功能,直接访问后台获得JSON格式的数据,然后通过jQuer把数据绑定到事先设计好
    JavaScript与JSON数据交互实现的基于HTML的模板 每每完成一个项目或多或少总是有些收获的,有时候有
    每每完成一个项目或多或少总是有些收获的,有时候有很多好多东西需要积累分享,这样以后的项目开发
    通过jQuery内置的AJAX功能,直接访问后台获得JSON格式的数据,然后通过jQuer把数据绑定到事先设计好
      随着企业规模的扩大和Internet技术的广泛普及,全球各个领域的不同企业已经对“让设备联网”达
    我们在做Winform项目开发的时候,经常会发现有一些数据很多,需要通过不同的Tab页面分类来实现数据
    版权所有 IT知识库 CopyRight © 2009-2015 IT知识库 IT610.com , All Rights Reserved. 京ICP备09083238号