Acessar um diretório dinamicamente por parâmetro passado para a view
04/06/2012 20:58
0
Amigos,

Estou escrevendo um sistema de upload de arquivos em grails e preciso passar o caminho da pasta para a view dinamicamente. Por exemplo:

* Controlador

render view:'index', model:[caminho: "uploads/201205"]


e na view:

<td><a href="${resource( dir: '${caminho}' , file: arquivo.decodeURL(), absolute:true )}" target="_new">mostrar</a></td>


Dessa forma não estou conseguindo capturar a variável com o nome da pasta na view. Esse caminho precisa ser dinâmico, pois vai depender de qual pasta o usuário vai fazer o upload do arquivo. É diferente de um recurso de css, por exemplo. Onde posso definir o caminho estaticamente (<a href="${resource( dir: 'css' )).

Alguém saberia me ajudar com isso?

Muito obrigado!
Tags: resource, createLinkTo, view, parâmetros


1
Olá, Ronaldo.

Amigo, isso só é possivel para arquivos que estejam DENTRO do diretório de sua aplicação. Não adianta querer apontar para um arqiuvo fora desse diretório que não rola.
Qual o seu caso?


0
Opa, José!

Então, meus arquivos estão dentro da pasta web-app. Eles estão dentro da aplicação. Já consigo fazer o upload dos arquivos e leitura dos mesmos.

O caso é que quando utilizo o recurso acima em qualquer lugar da view eles funcionam normalmente. Mas ao tentar usar com o
${resource( dir: '' )
ou
${createLinkTo( dir: '' )
, não funciona. Ao inspecionar o html gerado pelo gsp, vejo que ele não lê a variável...

:-(

Obrigado.
04/06/2012 22:27


0
Resolvido!

É só trocar a aspas simples por dupla. Como abaixo:
* Antes
href="${resource( dir: '${caminho}')"

* Depois
href='${resource( dir: "${caminho}")'


Abraços!
05/06/2012 12:32


0
Na verdade nem precisa de aspas.

href='${resource( dir: caminho )}'
05/06/2012 15:41



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