22 декабря 2009 г.

GWT. Передача параметров в GWT

Этой серией буду учиться вместе с вами, как работать с GWT в виде фронтенда и Django в виде бекенда. Пишу простым языком, так как сам разбираюсь в процессе.

Для начала надо научиться передавать параметры в GWT. Первая и основная причина - идеология django - нельзя жестко использовать url адреса. Django для этого предоставляет множество средств, как то и специальный тег url в шаблонах, и специальную функцию reverse для использования в коде. То есть смысл определяется тем, что нельзя использовать url напрямую где бы-то ни было, кроме определения его в файле url.py. Любое изменение конфигурации url'ов в url.py не должно приводить к поломке приложения. В общем, для запуска GWT фронтенда нам необходим набор url-ов определенных в бекенде для ajax запросов.

На стороне Django мы используем тег {% url %}, и выводим url'ы ajax запросов с помощью него, с этим все понятно. Но как их передать в GWT?

Так как GWT и находится в клиентском окружении javascript окна, то мы можем передать параметры в темплейте Django как словарь javascript:
  1. <script>   
  2. var ajaxsUrls = {  
  3. ajaxUrl1: "{% url ajaxNmaeView1 %}",  
  4. ajaxUrl2: "{% url ajaxNmaeView2 %}"  
  5. }   
  6. </script>   

И получить эти url'ы в GWT:

  1. public void useURLsDictionary() {  
  2.   Dictionary URLsDict = Dictionary.getDictionary("ajaxsUrls");  
  3.   
  4.   String ajaxUrl1 = URLsDict.get("ajaxUrl1");  
  5.   String ajaxUrl2 = URLsDict.get("ajaxUrl2");  
  6.   
  7. }  

Комментариев нет:

Отправить комментарий