Опыт использования extjs с граалями? - PullRequest
8 голосов
/ 03 июня 2009

Кто-нибудь создал приложение grails, используя extjs в качестве внешнего интерфейса?

Есть ли какие-нибудь подводные камни или ошибки, которыми вы хотели бы поделиться?

Похоже, что формат JSON, выводимый grails, по умолчанию сильно отличается от того, что ожидает extjs, но это просто вопрос настройки JSON на стороне grails?

Ответы [ 2 ]

13 голосов
/ 03 июня 2009

Я часто использую комбинацию Grails + ExtJS, и ее довольно легко реализовать. Вывод JSON для сеток можно легко выполнить, выполнив что-то подобное в своих контроллерах:

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

это даст "Ext-совместимый" 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" }
});

При работе со значениями даты рекомендуется использовать формат даты Javascript для конвертера JSON (т. Е. Значения даты будут отображаться как 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 голос
/ 06 января 2010

См. Этот

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

Это хороший пример, и весь сайт www.feyasoft.com работает под extjs + grails. И вы можете попробовать наш календарь - с открытым исходным кодом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...