Hm…essa nao seria uma convenção bacana de o VRaptor implementar? Ou não?
Estou com a documentação da ultima versão e no change log tem esse item:
Bug 109 resolvido: se você tem um arquivo /caminho/index.jsp, você consegue acessá-lo agora via
/caminho/, a menos que exista algum controller que trata essa URI
A correção não trata desse detalhe que eu comentei? Ou, me corrijam se estiver errado, o /caminho/index.jsp será exibido caso não exista controller para esse caminho?
De qualquer forma, valeu Lucas. Já tá funfando aqui.
Lucas, fiz uma classe aqui que APARENTEMENTE resolveu o detalhe que comentei acima. Ocorre que não sou bem um mago do VRaptor e não sei bem as combinações possíveis de anotações que a galera costuma usar ou que são possíveis. Pode dar uma olhada nesse código, por gentileza?
A classe que cria a rota para o método é essa aqui:
Como pode ver minha idéia era direcionar a url “/caminho” para o método index() sem parametros, e a rota é incluida com a ultima prioridade…hã tá certo isso? :lol:
Eu testei com o projeto vraptor-blank, o controller foi esse aqui:
package br.com.caelum.vraptor.blank;
import br.com.caelum.vraptor.Resource;
@Resource
public class IndexController {
public void index() {
System.out.println("entrou no index");
}
}
Sem anotações, o que geraria a uri “/index/index”. Com a classe que fiz o log do VRaptor na subida da aplicação foi
10:12:49,601 INFO [DefaultRouteBuilder ] /index/index [ALL] -> IndexController.index()
10:12:49,602 INFO [DefaultRouteBuilder ] /index [ALL] -> IndexController.index()
e funcionou, tanto com “/index/index” quanto com “/index”. Testei anotando o método com @Path("/index") e funcionou tambem (se bem que aí ele criou duas rotas iguais, precisaria tratar isso)