Mentawai - Template: “Bloqueando” chamada a JSP
Posted by Alberto on March 4th, 2008Como já leram aqui no blog, escolhi o Mentawai para desenvolver um projeto em Java. Mas, como nem tudo são flores, meses atrás eu tive um problema com a utilização de “template” no menta. Por acreditar que outras pessoas já passaram pelo mesmo problema, vou passar adiante uma dica que o felipowsky me passou lá no fórum.
Para conhecer como funciona o recurso de template, basta acessar o site aqui. O próprio site do mentawai explica passo a passo, portanto, não mostrarei aqui como criar um template simples.
O PROBLEMA
Quando se trabalha com “template” no mentawai é permitido configurar a extensão dos arquivos e a forma como serão acessados (Desde que não seja “jsp”, senão ele lança exceção).
Ao acessar uma página com a extensão que foi definida, o recurso de template do framework incluirá a página dentro das tags definidas. Porém, se o usuário renomear na barra de endereço a extensão, passando “.JSP”, o arquivo será acessado e exibido sem qualquer formatação de layout.
A SOLUÇÃO
Tentei de “n” maneiras resolver este problema, e como sou marinheiro de primeira viagem não tive muito sucesso.
A idéia passada pelo felipowsky foi a seguinte:
Cria-se uma classe que estende ConventionController, chame-a de CustomConventionController:
{
@Override
{
return "/WEB-INF/Administracao";
}
}
E, no TemplateManager, ao invés de chamar ConventionController, chama-se a classe customizada ConventionControllerCustom:
{
private static final String WEBINF_FOLDER = "/WEB-INF/";
private static final String DEFAULT_JSP_FOLDER = WEBINF_FOLDER + "Administracao/";
{
Page page = new Page("Administracao/.*", DEFAULT_JSP_FOLDER + "home.jsp", CustomConventionController.class);
add(page);
}
}
Está foi a solução que utilizei no meu projeto, e funciona perfeitamente.
Valeu felipowsky!
Recent Comments