Esta seção apresentará brevemente a sintaxe básica no desenvolvimento JSP.
Um programa de script pode conter qualquer número de instruções, variáveis, métodos ou expressões Java, desde que sejam válidos na linguagem de script.
O formato de sintaxe do programa de script:
<% trecho de código%>
Alternativamente, você pode escrever a instrução XML equivalente, assim:
<jsp:scriptlet> trecho de código</jsp:scriptlet>
Qualquer texto, tags HTML e elementos JSP devem ser escritos fora do programa de script.
Um exemplo é dado abaixo, que também é o primeiro exemplo JSP deste tutorial:
<html><head><title>Olá mundo</title></head><body>Olá mundo!<br/><% out.println("Seu endereço IP é " + request.getRemoteAddr()); </body></html>Nota: Certifique-se de que o Apache Tomcat tenha sido instalado no diretório C:apache-tomcat-7.0.2 e que o ambiente de execução tenha sido configurado corretamente.
Salve o código acima em hello.jsp, coloque-o no diretório C:apache-tomcat-7.0.2webappsROOT, abra o navegador e digite http://localhost:8080/hello na barra de endereço .jsp . Após a execução, obtenho os seguintes resultados:

Uma instrução de declaração pode declarar uma ou mais variáveis e métodos para uso pelo código Java subsequente. Em um arquivo JSP, você deve declarar essas variáveis e métodos antes de poder usá-los.
O formato de sintaxe da declaração JSP:
<%!declaração;
Alternativamente, você pode escrever a instrução XML equivalente, assim:
<jsp:declaration>Trecho de código</jsp:declaration>
Exemplo de programa:
<%! int i = 0; <%! int a, b, c;
A expressão da linguagem de script contida em uma expressão JSP é primeiro convertida em uma String e depois inserida no local onde a expressão aparece.
Como o valor da expressão é convertido em String, você pode usar a expressão em uma linha de texto, independentemente de ser uma tag HTML.
O elemento de expressão pode conter qualquer expressão que esteja em conformidade com a especificação da linguagem Java, mas um ponto e vírgula não pode ser usado para encerrar a expressão.
Formato de sintaxe da expressão JSP:
<%= expressão%>
Da mesma forma, você pode escrever a instrução XML equivalente:
<jsp:expressão> expressão</jsp:expressão>
Exemplo de programa:
<html> <head><title>Um teste de comentário</title></head> <body><p> Data de hoje: <%= (new java.util.Date()).toLocaleString()%></ p></body> </html>
Após a execução, obtenho os seguintes resultados:
Data de hoje: 11 de setembro de 2013 21:24:25
Os comentários JSP têm duas funções principais: comentar o código e comentar uma determinada seção do código.
O formato de sintaxe dos comentários JSP:
<%-- Você pode preencher comentários JSP aqui--%>
Exemplo de programa:
<html> <head><title>Um teste de comentários</title></head> <body> <h2>Um teste de comentários</h2> <%-- Esta parte dos comentários não será exibida na web página-- %> </body> </html>
Após a execução, obtenho os seguintes resultados:
Um teste de comentários
Regras gramaticais para usar comentários em diferentes situações:
| gramática | descrever |
|---|---|
| <%--Comentário--%> | Comentários JSP, o conteúdo do comentário não será enviado ao navegador nem mesmo compilado |
| <!-- Comentários --> | Comentários HTML, você pode ver o conteúdo do comentário ao visualizar o código-fonte da página da web por meio do navegador |
| <% | Representa estática <% constante |
| %> | Representa %> constante estática |
| ' | Aspas simples usadas em atributos |
| " | Aspas duplas usadas em atributos |
As diretivas JSP são usadas para definir propriedades relacionadas a toda a página JSP.
Formato de sintaxe de instrução JSP:
<%@ atributo da diretiva = "valor" %>
Existem três tags de diretiva:
| instrução | descrever |
|---|---|
| <%@ página ... %> | Defina os atributos de dependência da página, como linguagem de script, página de erro, requisitos de cache, etc. |
| <%@inclui...%> | incluir outros arquivos |
| <%@taglib...%> | Apresente a definição da biblioteca de tags, que pode ser uma tag personalizada |
As tags de comportamento JSP usam estruturas de sintaxe XML para controlar o mecanismo do servlet. Ele pode inserir um arquivo dinamicamente, reutilizar componentes JavaBean, guiar o usuário para outra página, gerar HTML relevante para plug-ins Java e muito mais.
As tags de comportamento possuem apenas um formato de sintaxe, que segue estritamente o padrão XML:
<jsp:action_name atributo="valor" />
Tags de comportamento são basicamente algumas funções predefinidas. A tabela a seguir lista algumas das tags de comportamento JSP disponíveis:
| gramática | descrever |
|---|---|
| jsp: incluir | Usado para incluir recursos estáticos ou dinâmicos na página atual |
| jsp:useBean | Encontre e inicialize um componente JavaBean |
| jsp:setProperty | Defina o valor do componente JavaBean |
| jsp:getProperty | Insira o valor do componente JavaBean na saída |
| jsp: encaminhar | Passe um objeto de solicitação contendo a solicitação do usuário de um arquivo JSP para outro |
| jsp: plugin | Usado para incluir objetos Applet e JavaBean em páginas HTML geradas |
| jsp:elemento | Crie dinamicamente um elemento XML |
| jsp:atributo | Definir atributos de elementos XML criados dinamicamente |
| jsp:corpo | Define o corpo de um elemento XML criado dinamicamente |
| jsp:texto | Usado para encapsular dados de modelo |
JSP suporta nove variáveis definidas automaticamente, conhecidas como objetos implícitos. Uma introdução a esses nove objetos implícitos é mostrada na tabela abaixo:
| objeto | descrever |
|---|---|
| solicitar | Instância da classe HttpServletRequest |
| resposta | Instância da classe HttpServletResponse |
| fora | Uma instância da classe PrintWriter , usada para gerar resultados em uma página da web |
| sessão | Instância da classe HttpSession |
| aplicativo | Uma instância da classe ServletContext , relacionada ao contexto do aplicativo |
| configuração | Instância da classe ServletConfig |
| pageContext | Uma instância da classe PageContext , fornecendo acesso a todos os objetos e namespaces da página JSP |
| página | Semelhante a esta palavra-chave em classes Java |
| Exceção | Um objeto da classe Exception representa o objeto de exceção correspondente na página JSP onde ocorreu o erro. |
JSP fornece suporte completo para a linguagem Java. Você pode usar a API Java em programas JSP e até mesmo criar blocos de código Java, incluindo instruções de julgamento e instruções de loop, etc.
Bloco If…else, veja este exemplo:
<%! int dia = 3; <html> <head><title>IF...ELSE Exemplo</title></head> <body><% if (dia == 1 | dia == 7) { %> <p>Hoje é fim de semana</p><% } else { %> <p>Hoje não é fim de semana</p><% } %></body> </html>Após a execução, obtenho os seguintes resultados:
Hoje não é fim de semana
Agora vamos dar uma olhada no bloco switch...case. Ele é muito diferente do bloco if...else. Ele usa out.println() e está inteiramente contido na tag do script, assim:
<%! int dia = 3; %> <html> <head><title>SWITCH...CASE Exemplo</title></head> <body><% switch(dia) { case 0: out.println( "É domingo."); break; case 1: out.println("É segunda-feira."); break; caso 3: out.println("É quarta-feira."); break case 4: out.println("É quinta-feira."); break case 5: out.println("É sexta-feira."); ); break; padrão: out.println("É sábado.");Após a execução, os seguintes resultados são obtidos:
É quarta-feira.
Instrução de loop
Os três tipos básicos de loop do Java podem ser usados em programas JSP: for, while e do...while.
Vejamos um exemplo de loop for:
<%! int fontSize; %> <html> <head><title>EXEMPLO DE LOOP FOR</title></head> <body><%for ( fontSize = 1; fontSize <= 3; fontSize++){ %> < font color="green" size="<%= fontSize %>"> Tutorial JSP </font><br /><%}%></body> </html>Após a execução, obtenho os seguintes resultados:
Tutorial JSPTutorial JSP Tutorial JSPReescreva o exemplo acima usando um loop while:
<%! int fontSize; %> <html> <head><title>WHILE LOOP Exemplo</title></head> <body><%while ( fontSize <= 3){ %> <font color="green" size="<%= fontSize %>"> Tutorial JSP </font><br /><%fontSize++;%><%}%></body> </html>Obtenho o mesmo resultado depois de executar:
Tutorial JSPTutorial JSP Tutorial JSPJSP suporta todos os operadores lógicos e aritméticos Java.
A tabela a seguir lista operadores JSP comuns, em ordem de prioridade:
| categoria | Operador | associatividade |
|---|---|---|
| sufixo | () [] (operador ponto) | esquerda para direita |
| um yuan | ++ - - ! | direita para esquerda |
| Multiplicabilidade | */% | esquerda para direita |
| Aditividade | + - | esquerda para direita |
| mudança | >> >>> << | esquerda para direita |
| relação | > >= < <= | esquerda para direita |
| igual/desigual | == != | esquerda para direita |
| Pouco E | & | esquerda para direita |
| Bit XOR | ^ | esquerda para direita |
| pouco ou | | | esquerda para direita |
| lógico E | && | esquerda para direita |
| lógico ou | || | esquerda para direita |
| Julgamento condicional | ?: | direita para esquerda |
| Atribuição | = += -= *= /= %= >>= <<= &= ^= |= | direita para esquerda |
| vírgula | , | esquerda para direita |
A linguagem JSP define as seguintes constantes:
Booleano: verdadeiro e falso;
Tipo inteiro (int): igual ao Java;
Float: o mesmo que em Java;
String: inicia e termina com aspas simples ou duplas;
Nulo: nulo.