C:URL com Javascript

Estava estudando um artigo (http://www.wbotelhos.com.br/2010/01/20/manipulando-dados-json-via-ajax-com-vraptor-3/) quando me deparei com o uso de um C:URL dentro do javascript.
Fiz uma busca recentemente e alguns testes antes de ler este artigo e não dava certo.

O artigo possui a seguinte linha em seu código:

$.getJSON('<c:url value="/usuario/editar/"/>' + idBusca, function (json) {

Acabei de testar aqui e não funcionou. É possível fazer isso da forma que está no código acima?

Se for dentro de um .jsp, por exemplo, funciona. Mas se for de um arquivo .js não, pois o container não processa arquivo .js por padrão.

JSTL e JavaScript são dois mundos diferentes. Você poderia fazer uma página com…

<c:url value="${param.url}" var="url">
<span style="display: none" id="myURL"><c:out value="${url}"/></span><!-- Isso é populado pelo servidor (server side) -->

Depois (Javascript)…

var url = $('#myURL').html(); //no javascript vc teria acesso ao "span" criado anteriormente

lsjunior, está dentro de um .js. São muitas funções por isso eu optei em deixar um arquivo externo. Entendi pq não funcionaria.

tveronezi, vou testar dessa forma, entendi o que você fez aí. Não chega a ser uma gambiarra hehehe, mas sim uma ótima saída, valeu!

Bom dia

Então Italo, eu faria da seguinte forma:

No JSP criaria um hidden com a url de requisição:

<input type='hidden' value='<c:url value="/usuario/editar/"/>' id='requisicao' />

Agora na função JS ficaria assim:

var requisicao = $("#requisicao").val();

$.getJSON(requisicao+idBusca,  function (json) { 

Faça testes agora e qualquer coisa poste os problemas.

Falou.

Valeu cvinicius, quase a mesma saída do tveronezi, vou testar dessa forma e já respondo se houver mais dúvidas.


Deu certo! Fiz da forma que vcs passaram e consegui pegar a URL correta. Valeu!

Tem uma dúvida.

Tenho a seguinte URL:

<span id="urldownload" style="display: none;"><c:url value="/minhaconta/meusdados/foto/download" /></span>

Esta URL me retorna uma imagem (FileDownload) do VRaptor.
Eu preciso adicionar ela como atributo em uma tag

Usando:

var urldownload = $("#urldownload").html(); var imagem = document.getElementById("usuariofoto"); imagem.src = urldownload;

Não está dando certo. Tem alguma outra coisa que precisa fazer para inserir esta imagem?