Wikibooks has a book on the topic of: J2EE Programming/JavaServer Pages
Java code is not required to be complete or self-contained within a single scriptlet block. Ele pode straddle markup conteúdo, desde que a página como um todo é sintaticamente correto. Por exemplo, qualquer Java if/for/while blocks aberto em um scriptlet deve ser fechado corretamente em um scriptlet posterior para que a página compile com sucesso. Isso permite que o código seja misturado e pode resultar em más práticas de programação.,
Content that falls inside a split block of Java code (spanning multiple scriptlets) is subject to that code. O conteúdo dentro de um bloco if só aparecerá na saída quando a condição if for avaliada como verdadeira. Da mesma forma, o conteúdo dentro de uma construção de loop pode aparecer várias vezes na saída, dependendo de quantas vezes o corpo do loop corre.
O seguinte seria válido para o ciclo em uma página JSP:
<p>Counting to three:</p><% for (int i=1; i<4; i++) { %> <p>This number is <%= i %>.</p><% } %><p>OK.</p>
A saída exibida no navegador da web do usuário seria:
Counting to three:This number is 1.This number is 2.This number is 3.OK.
Expressão LanguageEdit
Versão 2.,0 da especificação JSP adicionou suporte para a linguagem de expressão (EL), usada para acessar dados e funções em objetos Java. No JSP 2.1, ele foi dobrado na Linguagem de expressão unificada, que também é usado em rostos JavaServer.
um exemplo de sintaxe EL:
O valor de “variável” no objeto “javabean” é ${javabean.variavel}.
tagsEdit adicional
a sintaxe JSP adiciona tags adicionais, chamadas de ações JSP, para invocar a funcionalidade incorporada., Além disso, a tecnologia permite a criação de bibliotecas de tag JSP personalizadas que atuam como extensões da sintaxe padrão JSP. Uma dessas bibliotecas é a JSTL, com suporte para tarefas comuns como iteração e condicionalismos (o equivalente a declarações “para” e “se” em Java.)