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.
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:
[code]/**
*
*/
package com.inwebpartners.vraptor.controller;
import br.com.caelum.vraptor.Path;
import br.com.caelum.vraptor.Resource;
import br.com.caelum.vraptor.Result;
/**
*/
@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));
}
}
[/code]
Prefiro usar a solução com Controller, pois você pode criar um lógica no futuro.
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)
Obrigado a todos, deu certo aqui, o problema era a localização do arquivo mesmo…