Grails Javascript Routing
04/03/2014 23:32
0
Olá pessoal do fórum.
Estou começando a usar grails, outros frameworks com propostas semelhantes que já usei são playframework, Zend Framework, Symfony Framework. Estou procurando uma forma de acessar as rotas no javascript da mesma forma que nas views gsp, ou seja, sem escrever a url na mão. Algo como o jsRouting do playframework, onde as rotas são automaticamente geradas e acessadas via um objeto javascript.
Isso evita o problema de manter essas urls caso haja alguma mudança.

Por exemplo, no play framework podemos fazer jsRouting.controllers.nomecontroller.acao(parâmetros) e temos a url.

A aplicação que estou escrevendo é uma single page application. Utilizo apenas de controladores que expõem serviços RESTFull, e faço a logíca de apresentação na view em javascript (na verdade eu estou usando DartLanguage mas posso me virar com javascript já que posso fazer uma chamada a métodos javascript através da linguagem dart)

Gostaria de saber se os nobres colegas conhecem algum plugin ou recurso do grails 2.3 para fazer isso, pois já procurei bastante e não achei, talvez tenha outro nome ou talvez não exista mesmo.
Tags: routes


0
Achei um plugin mas está inativo e antigo 4 anos parado: http://grails.org/plugin/javascript-url-mappings
04/03/2014 23:56


0
Olá Giovanni!

Eu também tenho uma aplicação baseada em rest porem eu resolvo o problema das rotas da seguinte forma:


<r:script>
var url = '${createLink('controller': "teste", action: "index")}';
$.ajax({
url: url,
dataType: 'json',
success: function(data){
alert(data);
});
</r:script>


0
Leandro,
No meu caso essa solução não funciona, porque eu não utilizo templates processados no servidor. A aplicação tem uma única página, o resto é puramente processado no cliente e toda comunicação via ajax.
De modo que a única forma de fazer rota reversa é via ajax também. No playframework funciona da seguinte forma: Um objeto javascript é criado na primeira carga da página, contendo todas as rotas, o objeto sabe como obter uma url dado os parametros da rota.
Acho que o jeito é reviver o plugin http://grails.org/plugin/javascript-url-mappings mas não tenho experiência suficiente em groovy e grails para fazer isso. Enquanto isso vou escrever as urls na mão.
12/03/2014 02:37


0
Giovanni!

Pelo que olhei este plugin nada mais faz do que trocar, no momento de renderizar o gsp, o que ele econtrar g.createLink() por ${g.createLink()}.

Desta forma, não acredito que ele pode te ajudar.
Pra isso seria necessário fazer um plugin, como voce falou, onde no início da aplicação seja gerado a classe javascript responsável pela rota.

Não é uma implementação difícil, estou sem tempo agora, mas se me sobrar um tempo tentarei implementar.


0
Boa Leandro,
Obrigado pela atenção.
Vou estudar um pouco a arquitetura de plugins do Grails como aprendizado, tentar implementar esse plugin. Também tenho o tempo escasso, deve ser mal de todo programador brasileiro :-)
16/03/2014 19:56



Ainda não faz parte da comunidade???

Para se registrar, clique aqui.


Aprenda Groovy e Grails com a Formação itexto!

Newsletter Semana Groovy

Assinar

Envie seu link!


Livro de Grails


/dev/All

Os melhores blogs de TI (e em português) em um único lugar!

 
Creative Commons
RSS Grails Brasil é mantido por itexto Consultoria.
Em caso de problemas contacte Henrique Lobo Weissmann (Kico) por e-mail: kico@itexto.com.br
Todo o conteúdo presente neste site adota o Creative Commons como licença padrão.
Ver: 4.14.0
itexto