8

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

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

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

4

2 回答 2

13

我经常使用 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 方法也提供了新的可能性:-)

于 2009-06-03T08:26:06.097 回答
1

看到这个

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

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

于 2010-01-06T20:28:17.377 回答