【问题标题】:Experience using extjs with grails?使用 extjs 和 grails 的经验?
【发布时间】:2009-06-03 02:47:14
【问题描述】:

有没有人使用 extjs 作为前端构建了一个 grails 应用程序?

您是否愿意分享任何陷阱或陷阱?

看起来 grails 默认输出的JSON 格式与 extjs 所期望的完全不同,但这只是在grails 端自定义JSON 的问题吗?

【问题讨论】:

    标签: grails extjs


    【解决方案1】:

    我经常使用 Grails + ExtJS 的组合,它很容易实现。通过在控制器中执行以下操作可以轻松实现网格的 JSON 输出:

    def list = {
       def books = Book.list(params)    
       render( [ items: books, totalCount: Book.count() ] as JSON )
    }
    

    这将产生“Ext-compatible” JSON,如:

    {"items":[{"class":"Book","id":1,"title:"The Definitive Guide to Grails","author":"Graeme Rocher",...
    

    这是一个关于如何初始化 JsonStore 的示例:

    var store = new Ext.data.JsonStore({
       url: '${createLink( action: 'list' )}',
       root: 'items',
       totalProperty: 'totalCount',
       fields: [ 'id','title','author','isdn', 'dateCreated' ],
       paramNames: { start : "offset", limit :"max", sort : "sort", dir : "order" }
    });
    

    在处理日期值时,IMO 的最佳做法是为 JSON 转换器启用 Javascript 日期格式(即日期值将呈现为 new Date(123123123) 而不是默认格式“2009-04-16T00:00 :00Z"),所以你不必关心日期格式或时区的东西。您可以通过在 grails-app/conf/Config.groovy 中配置它来做到这一点:

    grails.converters.json.date = 'javascript'
    

    我还实现了网格过滤器插件的服务器端功能、组合框实现的各种组合(远程自动完成)、树、表单等。如果您想查看更多示例代码,让我知道。

    ExtJS 3.0(目前为 RC)与 Grails 集成得更好,因为 DataStores 提供了将数据发送回后端以进行持久化的选项。 Ext.Direct 方法也提供了新的可能性:-)

    【讨论】:

      【解决方案2】:

      看到这个

      http://ffzhuang.blogspot.com/2009/03/build-j2ee-application-with-extjs.html

      这是一个很好的例子,整个网站 www.feyasoft.com 在 extjs + grails 下运行。您可以试试我们的日历 - 开源。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-05-24
        • 2012-03-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-09-25
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多