Tenho um header.jsp que fica na pasta commons, e ela é incluída em várias outras páginas.
A dúvida é, esse header recebe alguns parâmetros, sendo assim todo método nos controllers que utilizam o header, eu tenho que dar o include nele…
Por exemplo:
[code]@Get@Path("/perfil/busca")
public List busca(String pesquisa) {
result.include(“totalAlertas”, alertaDao.totalAlertas(usuarioWeb.getUser()));
result.include(“pesquisa”, pesquisa);
return usuarioDao.busca(pesquisa);
}[/code]
@Get @Path("/perfil/alterar")
public void alterar() {
result.include("totalAlertas", alertaDao.totalAlertas(usuarioWeb.getUser()));
}
entre outros métodos que tenho que dar esse include também!
Como inclui esse totalAlertas direto no header.jsp?
Sei que é possível, mas é uma boa fazer isso no header mesmo? Não teria um jeito melhor? Pois, vou ter que sempre inicializar o dao no jsp, correto?
Lucas, mas um interceptor iria chamar todas as vezes, até mesmo nas páginas que não precisa, correto?
Seria uma boa colocar um “select” a mais nas páginas que não precisam?
Do ApplicationScoped eu entendi, mas como se anota o objeto? Aonde eu anotaria? Com esse scoped, ficaria acessível em todas as jsp correto? me parece uma boa opção, tem algum exemplo por aí galera?
o applicationScoped não ficaria disponível por padrão nas jsps, mas é só receber um ServletContext no construtor e fazer um context.setAttribute(“nomeDoComponente”, this);
Vai ser uma boa, pois existem mais includes em comum entre as páginas! Gostei desse método, muito legal ficar anotando os métodos
Sei que poderia em vez da anotação pegar as classes do controller no accept, mas existem muitas classes, achei melhor a anotação.
Fiz algo de errado ou existe algo que poupe mais trabalho ainda? (duvido)
E ah sim, apesar de eu anotar o interceptor como after, se o interceptor de autorização redirecionar, ele não vai chegar a ir para o segudo né?