有没有人使用extjs作为前端构建了一个grails应用程序?
您是否有任何陷阱或陷阱需要分享?
默认情况下,grails输出的JSON
格式与extjs预期的格式完全不同,但这只是在JSON
侧自定义grails
的问题吗? / p>
答案 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下运行。你可以尝试我们的日历 - 开源。