Estou usando o Sitemesh e está funcionando certo, hoje precisei para uma determinada ação usar um layout específico mas mesmo lendo a documentação e outros artigos não está funcionando, veja como está:
decorators.xml
<?xml version="1.0" encoding="UTF-8"?>
<decorators defaultdir="/WEB-INF/jsp/decorators">
<decorator name="main" page="main.jsp">
<pattern>/*</pattern>
</decorator>
<decorator name="iframe" page="iframe.jsp">
<pattern>/WEB-INF/jsp/results/index.jsp</pattern>
</decorator>
</decorators>
Estou tentando aplicar o layout específico para o arquivo “/WEB-INF/jsp/results/index.jsp” mas sem sucesso, quando faço isso para o index.jsp na raiz da aplicação em Webcontent funciona corretamente, já tentei também:
//jsp/results/
//results/
e nada!
Assim funciona,
<?xml version="1.0" encoding="UTF-8"?>
<decorators defaultdir="/WEB-INF/jsp/decorators">
<decorator name="main" page="main.jsp">
<pattern>/*</pattern>
</decorator>
<decorator name="iframe" page="iframe.jsp">
<pattern>/results</pattern>
</decorator>
</decorators>
Adotei exatamente a rota na info ao carregar o vraptor:
12-10-16 14:38:55,016 [INFO] br.com.caelum.vraptor.http.route.DefaultRouteBuilder - /results/{results.id}/edit [GET] -> ResultsController.edit(Results)
12-10-16 14:38:55,016 [INFO] br.com.caelum.vraptor.http.route.DefaultRouteBuilder - /results/new [GET] -> ResultsController.newResults()
12-10-16 14:38:55,016 [INFO] br.com.caelum.vraptor.http.route.DefaultRouteBuilder - /results/{results.id} [DELETE] -> ResultsController.destroy(Results)
12-10-16 14:38:55,016 [INFO] br.com.caelum.vraptor.http.route.DefaultRouteBuilder - /results [POST] -> ResultsController.create(Results)
12-10-16 14:38:55,016 [INFO] br.com.caelum.vraptor.http.route.DefaultRouteBuilder - /results [GET] -> ResultsController.index()
12-10-16 14:38:55,016 [INFO] br.com.caelum.vraptor.http.route.DefaultRouteBuilder - /results/{results.id} [GET] -> ResultsController.show(Results)
12-10-16 14:38:55,031 [INFO] br.com.caelum.vraptor.http.route.DefaultRouteBuilder - /results
[RESOLVIDO]