使用带有grails的extjs的经验?

时间:2009-06-03 02:47:15

标签: grails extjs

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

您是否有任何陷阱或陷阱需要分享?

默认情况下,grails输出的JSON格式与extjs预期的格式完全不同,但这只是在JSON侧自定义grails的问题吗? / p>

2 个答案:

答案 0 :(得分: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方法也提供了新的可能性: - )

答案 1 :(得分:1)

见这个

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

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