Como eu retiro do Vraptor a decisão de saber qual View será chamada após a execução de um método.
Eu quero que quando o usuário digitar uma url no browser, essa url chame o index.html da aplicação e ele sim será responsável por determinar qual View será renderizada.
Acredito que alguém já deve ter feito algo parecido ?
Queria fazer o Vraptor funcionar junto com o https://github.com/backbone-boilerplate/backbone-boilerplate.
Valeu galera.
sobrescreva o componente PathResolver…
@Component
public class SinglePagePathResolver {
public String pathFor(ResourceMethod method) {
return "caminho/do/seu/index";
}
}
é meio estranho isso de qqer forma… o ideal era vc redirecionar pra um jsp, pra vc ter a condição de saber qual lógica ele tá querendo chamar.
Na verdade eu já tinha pensado nisso, fiz assim:
[code]@Component
public class SimpleApplicationPathResolver implements PathResolver {
public String pathFor(ResourceMethod method) {
return "/WEB-INF/index.jsp";
}
}[/code]
[code]@Component
public class Ignore404 implements ResourceNotFoundHandler {
Result result;
public Ignore404(Result result) {
this.result = result;
}
public void couldntFind(RequestInfo request) {
this.result.use(Results.page()).defaultView();
}
}[/code]
O problema, é que se eu colocar algum recurso na minha aplicação que não existe, ele vai retornar o index.jsp.
É meio perigoso, mas funciona. Ainda não achei nada melhor.
Pensei em fazer um Filter, logo depois do filtro do Vraptor. Esse filtro redirecionaria para o index.jsp.
É uma boa também.
Quando tiver a solução ideal eu posto aqui. Valeu.
Olá Marcio, achou uma boa solução pra isso?