2013-09-09 5 views
1

Grails имеет GSP для серверных шаблонов. Это здорово, но как только данные попадают в веб-браузер, он уже «приготовлен». Что делать, если я хочу сделать вызов AJAX для обновления модели, получить обновленную модель и затем обновить интерфейс. Шаблон GSP теперь бесполезен для меня.Grails - клиентская сторона против серверной стороне Templating

Я предпочел бы не обновлять страницу. Что люди обычно здесь делают? Использовать структуру шаблонов как для серверной, так и для клиентской стороны?

Просто кажется слишком сложным использовать что-то вроде шаблонов GSP и JQuery.

Я думаю, что этот вопрос не является специфическим для Grails, но для Интернета в целом.

+0

Неуверенный, если этот проект помощи: https://github.com/vahidhedayati/ExtLinkChoice/ называют https://github.com/vahidhedayati/ExtLinkChoiceExample Короче я в конечном итоге написание тегов и LIBS сервисы в плагине, а затем вызов taglibs в проект клиента для визуализации выбора пользователя. – Vahid

+0

Имела такую ​​же проблему, поэтому я сделал http://splix.github.io/hsoy-templates/ для моих нужд. Это шаблоны HAML, которые собираются в JS для клиентской стороны и в Java для серверной части (есть плагин для Grails). –

ответ

2

Я считаю, что люди начинают использовать клиентские рамки для управления растущими потребностями клиентов (начиная с позвоночника, заканчивая угловым/угловым).

Если ваши потребности не настолько серьезны, то вы можете использовать на стороне клиента храмы, как handlebars или mustache или underscore

Вы, возможно, один GSP файл заполнен различными шаблонами клиентов включены на странице, а затем просто использовать JavaScript для нарисуйте эти шаблоны на странице, используя образцы данных или данные с сервера.

Я не согласен с тем, что шаблоны gsp проиграют в этом случае, если вы не создаете полностью динамический опыт или одностраничное приложение, которое обычно не относится к grails.

EDIT:

Я только что был проект, когда я должен был рассмотреть, если мне нужно, чтобы перейти к стороне клиента шаблонов все вместе, использует основу. И был один случай, когда серверные шаблоны были быстрее. У меня была форма поиска, и я получал результаты поиска с помощью моделей Backbone, поэтому у меня были либо чистые шаблоны подчеркивания, которые были расписаны на основе данных модели, либо сервер, чтобы отправить мне html, который будет включен на страницу. Ну, те из вас, кто использует Backbone, уже кричат, что мне приходилось использовать шаблоны подчеркивания, но поскольку мне приходилось открывать результат поиска на новой вкладке и делать это с помощью Backbone, имея ограничения по времени, это был не выбор, а запрос был xhr Я отправил html-шаблон для Backbone, иначе я сделал полную страницу. Хотя, если бы у меня было больше времени, я бы сделал все, используя только клиентские шаблоны.

Также я использую Angular и использую только клиентские шаблоны. Если бы я хотел использовать сервер для создания шаблонов для Angular, это должно быть «Я даже не сейчас».

+0

Спасибо за понимание. Я собираюсь проверить Угловое. – ademartini

0

Когда у нас есть такая ситуация, как ваша, мы используем ajax и в нашем действии мы визуализируем шаблон gsp и возвращаем обновленный html в обратном вызове ajax. На стороне клиента мы просто заменяем соответствующие элементы новым html, полученным с сервера. Мы разрабатываем наше представление очень модульно, чтобы мы могли заменить очень тонкие разделы с помощью сделанных шаблонов через ajax.