VRaptor 4 + Sitemesh 3 exclude

1 resposta
vinicius_roc

Boa tarde,

Eu criei uma aplicação utilizando o VRaptor 4, devido a pressa criei diversos jsps copiando e colocando.

Agora estou tentando aplicar um template, vi muita gente falando do sitemash, então fui dar uma olhada e me pareceu bem simples. Então comecei aplicar.

Funcionou direitinho, porém estou com problema para realizar um exclude do login.jsp. Segue meu sitemesh3.xml.

<sitemesh>

    <mapping decorator="/WEB-INF/decorator/main.jsp" />	

    <mapping path="/images/*" exclue="true" />
    <mapping path="/js/*" exclue="true" />
    <mapping path="/font/*" exclue="true" />
    <mapping path="/css/*" exclue="true" />
    <mapping path="/WEB-INF/jsp/login/login.jsp" exclue="true" />

</sitemesh>

Mesmo com essa configuração, ao ser direcionado para a tela de login ele carrega o template main.jsp.

Pelo que debuguei o código, ele chama o metodo estático WebAppContext.getRequestPath, que por sua vez verifica se o request possui o atributo “javax.servlet.forward.servlet_path” e no meu caso tem, fazendo com que ele pegue o path do navegador ao invés da chamada request.getServletPath(), que traria o path do login.jsp

Qual o jeito certo de fazer funcionar?

1 Resposta

igomes
Costumo fazer isso via código

builder.addDecoratorPath("<em>.jsp", “/WEB-INF/decorators/decorator.jsp”)

.addExcludedPath("</em>.json")

.addExcludedPath("<em>.xml")

.addExcludedPath("</em>.js")

.addExcludedPath("<em>.png")

.addExcludedPath("</em>.gif")

.addExcludedPath("<em>.jpg")

.addExcludedPath("</em>.jpeg");

tenta tirar assim

Criado 31 de maio de 2016
Ultima resposta 31 de mai. de 2016
Respostas 1
Participantes 2