Ontem resolvi acessar o site da Caelum, observei que a apostila gratuita que eles distribuem do curso de java web (FJ21), havia sido atualizada em fevereiro de 2009. Quando comecei a estudar java web essa apostila me ajudou muito e quando comecei a estagiar na área - em 2008 - meu treinamento foi praticamente baseado na apostila. Observei que a apostila está bem interessante. Uma das coisas que me chamou atenção de cara foi na seção "11.1 - Propriedades de páginas JSP" da apostila. Nesta seção eles destacam as novas propriedades permitidas pela API do JSP que são:
- Desativar Scriptlets nas páginas jsp.
<scripting-invalid>true</scripting-invalid>Ao conversar com um colega de trabalho sobre esta possibilidade ele comentou "que bom, assim acaba com a macarronada nos jsp". Macarronada é o termo que algumas pessoas utilizam para qualificar essa prática de incluir programação nas páginas JSP. Quando pensamos numa macarronada temos aquela visão de tudo misturado, enrolado um no outro sem saber onde começa um ou termina o outro. Se você pensar em um sistema que utiliza código na pagina JSP para fazer conexão com um banco de dados é mais ou menos a mesma coisa... o lugar que vc devia utilizar apenas para apresentação, vc colocar código, fica um tanto quanto dificil de um outro programador dê manutenção no seu código.
- Desativar Expression Language
<el-ignored>false</el-ignored> //O padrão é que venha habilitado para desabilitar set true
Não sei em que situação isso seria útil, eu por exemplo utilizo bastante expression Language. Talvez alguns frameworks permitam que utilizem outras formas.
- Determinar a codificação dos arquivos de maneira genérica
<page-encoding>UTF-8</page-encoding>Imagine toda vez que você criar uma pagina jsp ter que definir a codificação da mesma. Isso é meio chato, essa solução eu achei bastante prática.
- Incluir arquivos estaticamente antes e depois de seus JSPs:
<include-prelude>/antes.jspf</include-prelude>
<include-coda>/depois.jspf</include-coda>Os velhos includes topo e rodapé. Aquela mesma história... ter que ficar incluindo em todas as páginas. Mais praticidade pra sua vida novamente ;)
Então, para configurar essas opções basta incluir a listagem abaixo no seu arquivo
web.xml<jsp-config>
<jsp-property-group>
<display-name> todos os jsps</display-name>
<description> configuracoes de todos os jsps</description>
<url-pattern> *.jsp</url-pattern><scripting-invalid> true</scripting-invalid>
<el-ignored> false</el-ignored>
<page-encoding> UTF-8</page-encoding>
<include-prelude> /antes.jspf</include-prelude>
<include-coda> /depois.jspf</include-coda>
</jsp-property-group>
</jsp-config>
Observem que eu destaquei a parte <url-pattern> pra chamar a atenção que além de permitir que você faça essa configuração para todos os arquivos .jsp, você também pode configurar para um arquivo específico.
Bastante interessante, não acham?
Por agora é só.
Abraços.
FONTE: www.caelum.com.br, curso FJ21