Etiqueta de elementos JSP

⚡ Resumo Inteligente

As estruturas de tags de elementos JSP permitem que os desenvolvedores incorporem Java diretamente em uma página por meio de tags de declaração, scriptlet, expressão e comentário, permitindo a criação de variáveis, execução de lógica, saída dinâmica e documentação legível em um único arquivo renderizado no servidor.

  • 📝 Etiqueta de declaração: A tag <%! %> declara variáveis ​​e métodos no nível da classe do servlet, fora do método de serviço.
  • ⚙️ Etiqueta Scriptlet: A tag <% %> coloca Java instruções que são executadas dentro de _jspservice() em cada requisição do cliente.
  • 🔢 Etiqueta de expressão: A tag <%= %> avalia uma expressão aritmética ou lógica e escreve o resultado na saída.
  • 💬 Tag de comentário: A tag <%– –%> oculta as notas do contêiner e do navegador, keeping Código documentado e limpo.
  • 🚀 Executar no servidor: Uma página JSP completa é empacotada em um arquivo WAR e implantada em um servidor web, como o JBoss.
  • 📁 Estrutura do diretório: Os arquivos JSP ficam fora da pasta WEB-INF, enquanto os arquivos de configuração e de biblioteca permanecem dentro da pasta WEB-INF.

Etiquetas JSP

Neste tutorial, aprenderemos as tags básicas do JSP e como adicionar comentários ao JSP. Junto com isso, também criaremos um JSP e executaremos esse JSP no servidor.

Declaração JSP

  • Uma tag de declaração é um pedaço de Java código para declarar variáveis, métodos e classes. Se declararmos uma variável ou método dentro da tag de declaração significa que a declaração é feita dentro da classe servlet, mas fora do método de serviço.
  • Podemos declarar um membro estático, uma variável de instância (pode declarar um número ou string) e métodos dentro da tag de declaração.

Sintaxe da tag de declaração:

<%!  Dec var  %>

Aqui Dec var é o método ou uma variável dentro da tag de declaração.

Exemplo:

Neste exemplo, usaremos as tags de declaração

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Declaration Tag</title>
</head>
<body>
<%! int count =10; %>
<% out.println("The Number is " +count); %>
</body>
</html>

Explicação do código:

Code Linha 10: Aqui estamos usando uma tag de declaração para inicializar uma contagem de variável para 10.

Ao executar o código acima você obtém a seguinte saída:

Declaração JSP

Saída:

A variável declarada na tag de declaração é impressa como saída.

Scriptlet JSP

  • Tag Scriptlet permite escrever Java código em arquivo JSP.
  • O contêiner JSP move instruções no método _jspservice() enquanto gera servlet a partir de jsp.
  • Para cada solicitação do cliente, o método de serviço do JSP é invocado, portanto, o código dentro do Scriptlet é executado para cada solicitação.
  • Um Scriptlet contém código java que é executado sempre que JSP é invocado.

Sintaxe da tag Scriptlet:

<% java code %>

Aqui as tags <%%> são tags de scriplets e dentro delas podemos colocar o código java.

Exemplo:

Neste exemplo, estamos usando tags Scriptlet que incluem código java.

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Scriplet</title>
</head>
<body>
<% int num1=10;
   int num2=40;
   int num3 = num1+num2;
   out.println("Scriplet Number is " +num3);
%>
</body>
</html>

Explicação do código:

Code Linhas 10-14: Nas tags Scriptlet onde pegamos duas variáveis ​​num1 e num2 . A terceira variável num3 é obtida e soma num1 e num2. A saída é num3.

Ao executar o código, você obtém a seguinte saída:

Scriptlet JSP

Saída:

A saída para o número do Scriptlet é 50, que é a adição de num1 e num2.

Expressão JSP

  • A tag de expressão avalia a expressão colocada nela.
  • Ele acessa os dados armazenados no aplicativo armazenado.
  • Permite criar expressões como aritméticas e lógicas.
  • Produz página JSP sem script.

Sintaxe:

<%= expression %>

Aqui a expressão é a expressão aritmética ou lógica.

Exemplo:

Neste exemplo, estamos usando a tag de expressão

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Expression</title>
</head>
<body>
<% out.println("The expression number is "); %>
<% int num1=10; int num2=10; int num3 = 20; %>
<%= num1*num2+num3 %>
</body>
</html>

Explicação do código:

Code Linha 12: Aqui estamos usando tags de expressão onde usamos uma expressão multiplicando dois números, ou seja, num1 e num 2 e, em seguida, adicionando o terceiro número, ou seja, num3.

Ao executar o código acima, você obtém a seguinte saída:

Expressão JSP

Saída:

O número da expressão é 120, onde multiplicamos dois números num1 e num2 e adicionamos esse número ao terceiro número.

Comentários JSP

Comentários são aqueles quando o contêiner JSP deseja ignorar determinados textos e instruções.

Quando queremos ocultar determinado conteúdo, podemos adicioná-lo à seção de comentários.

Sintaxe:

<% -- JSP Comments %>

Essas tags são usadas para comentar em JSP e ignoradas pelo contêiner JSP.

Este é um comentário HTML que é ignorado pelo navegador

Exemplo:

Neste exemplo, estamos usando comentários JSP

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Comments</title>
</head>
<body>
<%-- Guru Comments section --%>
<% out.println("This is comments example"); %>

</body>
</html>

Explicação do código:

Code Linha 10: Aqui estamos adicionando comentários JSP ao código para explicar o que o código possui. Foi ignorado pelo contêiner JSP

Ao executar o código acima você obtém a seguinte saída:

Comentários JSP

Saída:

Obtemos a saída que é impressa no método println. Comentários são ignorados pelo contêiner

Criando uma página JSP simples

  • Uma página JSP possui um corpo HTML incorporado com Java codifique nele
  • Estamos criando uma página JSP simples que inclui declarações, scriplets, expressões e tags de comentários.

Exemplo:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru JSP Example</title>
</head>
<body>

<%-- This is a JSP example with scriplets, comments , expressions --%>
<% out.println("This is guru JSP Example"); %>
<% out.println("The number is "); %>
<%! int num12 = 12; int num32 = 12; %>
<%= num12*num32 %>
Today's date: <%= (new java.util.Date()).toLocaleString()%>
</body>
</html>

Explicação do código:

Code Linha 1: Aqui estamos usando diretivas como idioma, contentType e pageEncoding. A linguagem é Java e o tipo de conteúdo é texto/html com conjunto de caracteres padrão ISO 8859. A codificação da página é conjunto de caracteres padrão.

Code Linha 11: Aqui estamos usando comentários JSP para adicionar comentários ao JSP

Code Linha 14: Aqui estamos declarando as variáveis ​​num12 e num32 inicializando com 12.

Code Linha 15: Aqui estamos usando uma expressão onde multiplicamos dois números num12 e num32.

Code Linha 16: Aqui estamos buscando a data de hoje usando o objeto date.

Ao executar o código acima, você obtém a seguinte saída

Criando uma página JSP simples

Saída:

Estamos imprimindo aqui,

  • Este é o exemplo do guru JSP.
  • O número é num12*num32 (12*12).
  • A data de hoje é a data atual

Como executar uma página JSP simples

  • JSP pode ser executado em servidores web ou servidores de aplicativos.
  • Aqui usaremos um servidor web e podemos implantá-lo no servidor, envolvendo-o em um aplicativo de guerra.
  • Podemos criar JSP em uma aplicação (war).

Este é um aplicativo que possui a seguinte estrutura de diretórios e o aplicativo deve ser construído.

Execute uma página JSP simples

Este aplicativo deve ser compilado e a seguinte mensagem aparecerá após a compilação ser bem-sucedida:

Execute uma página JSP simples

Depois que o aplicativo for construído, ele deverá ser executado no servidor.

Para rodar JSP no servidor web, clique com o botão direito no projeto do IDE (eclipse usado neste caso) e há muitas opções. Selecione a opção de executar no servidor. É mostrado na imagem abaixo;

A partir do diagrama, os seguintes pontos são explicados:

  1. Existem duas opções: escolher um servidor ou adicionar manualmente o servidor a este aplicativo. Neste caso, já adicionamos o servidor JBoss ao aplicativo, portanto, selecionamos o servidor existente.
  2. Depois de selecionar o servidor, a opção de servidor é mostrada no ponto 2, qual servidor queremos selecionar. Pode haver vários servidores configurados neste aplicativo. Podemos selecionar um servidor de todas essas opções
  3. Depois que essa opção for selecionada, clique no botão Concluir e o aplicativo será executado nesse servidor.

Execute uma página JSP simples

Nas capturas de tela abaixo, você pode notar que nosso programa JSP é executado e o aplicativo de teste é implantado em Servidor JBoss marcado na caixa vermelha.

Execute uma página JSP simples

Estrutura de diretório do JSP

Na estrutura de diretórios, existe uma pasta raiz que possui a pasta WEB-INF, que contém todos os arquivos de configuração e arquivos de biblioteca.

Arquivos JSP estão fora da pasta WEB-INF

Estrutura de diretório do JSP

Estrutura de diretório do JSP

Exemplo:

Neste exemplo, há um aplicativo de teste que possui uma estrutura de pastas com o seguinte:

Estrutura de diretório do JSP

Perguntas Frequentes

Uma tag de declaração coloca variáveis ​​e métodos no nível da classe do servlet, fora do método de serviço. Uma tag de scriptlet coloca o código dentro do método de serviço, para que seja executado em cada requisição do cliente.

Não. Mistura de Scriptlets Java com marcação e são difíceis de manter. As páginas JSP modernas priorizam a Linguagem de Expressão (EL), a JSTL e bibliotecas de tags, que mantêm a apresentação separada da lógica de negócios e melhoram a legibilidade.

Uma tag de expressão contém um único valor que o contêiner converte em uma string e escreve na saída. Adicionar um ponto e vírgula a transforma em uma instrução, o que é inválido dentro de tags de expressão.

A IA pode gerar tags de declaração, scriptlet e expressão a partir de uma descrição simples, sinalizar erros de sintaxe e sugerir alternativas mais limpas, como JSTL, etc.ping Iniciantes criam páginas JSP corretas mais rapidamente.

Sim. As ferramentas de IA podem refatorar páginas com muitos scriptlets para Linguagem de Expressão e JSTL, reduzindo o uso de código incorporado. JavaOs desenvolvedores devem revisar a saída para confirmar se a lógica e o comportamento do escopo permanecem os mesmos.

Resuma esta postagem com: