GWT устанавливает значения переменных с помощью шаблонов Django

Я использую элемент управления деревом в своем приложении GWT. В дереве есть разные элементы в зависимости от пользователя, вошедшего в систему. Один из способов заполнить дерево — запросить сервер из моего кода GWT, чтобы получить список элементов дерева. Но поскольку элементы всегда будут отображаться, не лучше ли будет включить информацию о них на самой странице? Я ищу взгляды, чтобы добиться этого. Можно ли заставить механизм шаблонов, такой как django, вставлять эти значения в строковые переменные GWT во время обслуживания? Затем я могу использовать эти строковые переменные для заполнения дерева. Или есть лучший способ добиться этого?


person user434541    schedule 26.10.2010    source источник


Ответы (1)


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


Идея, как вы сказали, состоит в том, чтобы встроить эти данные внутрь главной страницы вместо запуска дополнительного запроса GWT RPC во время инициализации приложения. Ты сможешь:

  1. Вставьте данные в переменную JavaScript на главной странице и получите доступ к ним с помощью Словарь класс

    Это простое решение, особенно если ваши данные можно сериализовать как словарь строк. Вы можете использовать механизм шаблонов по вашему выбору, чтобы вставить эти данные на вашу хост-страницу (Django's, Mustache, FreeMarker, JSP...).

  2. Вставьте полезную нагрузку GWT-RPC на свою хост-страницу, как описано здесь и здесь

    Это лучше, если вам нужно сериализовать весь граф объекта (что может быть тем, что вам нужно для вашего виджета Tree, в зависимости от его сложности). Это похоже на стандартный запрос GWT-RPC, но вместо отправки HTTP-запроса при запуске «ответ» GWT-RPC был бы встроен в вашу хост-страницу, когда вы ее обслуживаете.

person Etienne Neveu    schedule 26.10.2010
comment
Это правильный ответ. Другой учебник здесь: code.google.com/webtoolkit/articles/dynamic_host_page.html - person Jason Hall; 27.10.2010
comment
Вау, хорошая статья. Не думал об использовании JSNI для доступа к встроенным данным, но это тоже имеет смысл. - person Etienne Neveu; 27.10.2010