VRaptor + JavaScript [RESOLVIDO]

3 respostas
J

Boa noite pessoal, estou com uma treta aqui que esta me deixando louco!

Seguinte… tem a seguinte estrutura no VRaptor:

jsp pais list.js list.jsp

Veja não consigo importar esse list.js, está na mesma pasta do jsp… já tentei de tudo…
já tentei essas formas:

<script type="text/javascript" src="<%= request.getContextPath() %>/pais/list.js"></script> --nessa monta a seguinte url e da 404 : http://localhost:8080/meuprojeto/pais/list.js
<script type="text/javascript" src="list.js"></script> 
<script type="text/javascript" src="/list.js"></script>

alguém sabe o que posso fazer?

obrigado.

3 Respostas

M

Eu tive o mesmo problema.

A solução mais simples é você colocar na pasta WebContent e não dentro da pasta JSP.

Por exemplo: WebContent/js/list.js, então você poderá acessar sem um Controller (http://seuSite.com/js/list.js).

---
Outra solução que eu uso, é criar um controller para gerenciar todas as requisições na pasta js. Segue o código do Controller:

/**
 * 
 */
package com.inwebpartners.vraptor.controller;

import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;

/**
 * @author maiconfz
 * 
 */
@Resource
@Path("/js")
public class JavaScriptController {
	private final Result result;

	/**
	 * @param result
	 */
	public JavaScriptController(Result result) {
		this.result = result;
	}

	@Path("/{javaScriptUri:.*}")
	public void getJavaScriptFile(String javaScriptUri) {
		this.result.forwardTo("/WEB-INF/jsp/js/".concat(javaScriptUri));
	}
}

Prefiro usar a solução com Controller, pois você pode criar um lógica no futuro.

Lucas_Cavalcanti

o que vc quer acessar direto do browser (js, css e imagens) não pode estar dentro de WEB-INF…

coloque direto em WebContent (ou src/main/webapp, ou web, o content root)

J

Obrigado a todos, deu certo aqui, o problema era a localização do arquivo mesmo…

Criado 18 de maio de 2012
Ultima resposta 19 de mai. de 2012
Respostas 3
Participantes 3