Diretivas JSP: Página, Incluir & Tutorial Taglib

Índice:

Anonim

O que são diretivas JSP?

  • As diretivas JSP são as mensagens para o contêiner JSP. Eles fornecem informações globais sobre uma página JSP inteira.
  • As diretivas JSP são usadas para fornecer instruções especiais a um contêiner para a conversão de JSP em código de servlet.
  • Na fase do ciclo de vida do JSP, o JSP deve ser convertido em um servlet que é a fase de tradução.
  • Eles fornecem instruções ao contêiner sobre como lidar com certos aspectos do processamento JSP
  • As diretivas podem ter muitos atributos separados por vírgulas como pares de valores-chave.
  • Em JSP, a diretiva é descrita em tags <% @%>.

Sintaxe da diretiva:

<%@ directive attribute %>

Existem três tipos de diretivas:

  1. Diretiva de página
  2. Incluir diretiva
  3. Diretiva Taglib

Cada um deles é descrito em detalhes abaixo com exemplos:

Neste tutorial, você aprenderá -

  • Diretiva de página JSP
  • Diretiva de inclusão JSP
  • Diretiva JSP Taglib

Diretiva de página JSP

Sintaxe da diretiva da página:

<%@ page… %>
  • Ele fornece atributos que são aplicados a toda a página JSP.
  • Ele define os atributos dependentes da página, como linguagem de script, página de erro e requisitos de buffer.
  • É usado para fornecer instruções a um contêiner que pertence à página JSP atual.

A seguir está sua lista de atributos associados à diretiva de página:

  1. Língua
  2. Estende
  3. Importar
  4. tipo de conteúdo
  5. informação
  6. sessão
  7. isThreadSafe
  8. autoflush
  9. amortecedor
  10. IsErrorPage
  11. pageEncoding
  12. errorPage
  13. isELIgonored

Mais detalhes sobre cada atributo

  1. linguagem : define a linguagem de programação (linguagem subjacente) que está sendo usada na página.

    Sintaxe da linguagem:

    <%@ page language="value" %>

    Aqui, o valor é a linguagem de programação (linguagem subjacente)

Exemplo:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>

Explicação do código: No exemplo acima, o valor do idioma do atributo é Java, que é o idioma subjacente neste caso. Portanto, o código em tags de expressão seria compilado usando o compilador java.

  1. Extends : Este atributo é usado para estender (herdar) a classe como JAVA faz

Sintaxe de extends:

<%@ page extends="value" %>

Aqui, o valor representa a classe da qual deve ser herdado.

Exemplo:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%><%@ page extends="demotest.DemoClass" %>

Explicação do código: No código acima, JSP está estendendo DemoClass, que está dentro do pacote de teste, e irá estender todos os recursos de classe.

  1. Importar : Este atributo é o atributo mais usado em atributos de diretiva de página. É usado para dizer ao contêiner para importar outras classes java, interfaces, enums, etc., enquanto gera código de servlet. É semelhante a instruções de importação em classes java, interfaces.

Sintaxe de importação :

<%@ page import="value" %>

Aqui, o valor indica as classes que devem ser importadas.

Exemplo:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"import="java.util.Date" pageEncoding="ISO-8859-1"%>

Explicação do código:

No código acima, estamos importando a classe Date do pacote java.util (todas as classes de utilitário) e ela pode usar todos os métodos da classe a seguir.

  1. contentType :
  • Ele define o esquema de codificação de caracteres, ou seja, é usado para definir o tipo de conteúdo e o conjunto de caracteres da resposta
  • O tipo padrão de contentType é "text / html; charset = ISO-8859-1".

Sintaxe do contentType:

<%@ page contentType="value" %>

Exemplo:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"pageEncoding="ISO-8859-1"%>

Explicação do código:

No código acima, o tipo de conteúdo é definido como text / html, ele define a codificação de caracteres para JSP e para a página de resposta gerada.

  1. informação
  • Ele define uma string que pode ser acessada pelo método getServletInfo ().
  • Este atributo é usado para definir a descrição do servlet.

Sintaxe da informação:

<%@ page info="value" %>

Aqui, o valor representa as informações do servlet.

Exemplo:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"info="Guru Directive JSP" pageEncoding="ISO-8859-1"%>

Explicação do código:

No código acima, a string "Guru Directive JSP" pode ser recuperada pela interface do servlet usando getServletInfo ()

  1. Sessão
  • A página JSP cria sessão por padrão.
  • Às vezes, não precisamos que uma sessão seja criada em JSP e, portanto, podemos definir esse atributo como falso nesse caso. O valor padrão do atributo da sessão é verdadeiro e a sessão é criada.

    Quando definido como falso, podemos indicar ao compilador para não criar a sessão por padrão.

Sintaxe da sessão:

<%@ page session="true/false"%>

Aqui, neste caso, o atributo da sessão pode ser definido como verdadeiro ou falso

Exemplo:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"session="false"%>

Explicação do código:

No exemplo acima, o atributo da sessão é definido como "falso", portanto, estamos indicando que não queremos criar nenhuma sessão neste JSP

  1. isThreadSafe:
  • Ele define o modelo de encadeamento para o servlet gerado.
  • Ele indica o nível de segurança de thread implementado na página.
  • Seu valor padrão é verdadeiro, então simultâneo
  • Podemos usar este atributo para implementar a interface SingleThreadModel no servlet gerado.
  • Se definirmos como false, ele implementará SingleThreadModel e pode acessar quaisquer objetos compartilhados e pode gerar inconsistência.

Sintaxe de isThreadSafe:

<% @ page isThreadSafe="true/false" %>

Aqui, verdadeiro ou falso representa se a sincronização existe, então defina como verdadeiro e defina-o como falso.

Exemplo:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isThreadSafe="true"%>

Explicação do código:

No código acima, isThreadSafe é definido como "true", portanto, a sincronização será feita e vários threads podem ser usados.

  1. AutoFlush:

Este atributo especifica que a saída em buffer deve ser descarregada automaticamente ou não e o valor padrão desse atributo é verdadeiro.

Se o valor for definido como false, o buffer não será descarregado automaticamente e, se estiver cheio, obteremos uma exceção.

Quando o buffer é nenhum, o falso é ilegítimo e não há armazenamento em buffer, portanto, ele será liberado automaticamente.

Sintaxe de autoFlush:

<% @ page autoFlush="true/false" %>

Aqui, verdadeiro / falso representa se o armazenamento em buffer deve ser feito ou não

Exemplo:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"autoFlush="false"%>

Explicação do código:

No código acima, o autoflush é definido como falso e, portanto, o armazenamento em buffer não será feito e ele liberou manualmente a saída.

  1. Amortecedor:
  • Usando este atributo, o objeto de resposta de saída pode ser armazenado em buffer.
  • Podemos definir o tamanho do buffer a ser feito usando este atributo e o tamanho padrão é 8 KB.
  • Ele direciona o servlet para gravar no buffer antes de gravar no objeto de resposta.

Sintaxe do buffer:

<%@ page buffer="value" %>

Aqui, o valor representa o tamanho do buffer que deve ser definido. Se não houver buffer, podemos escrever como nenhum, e se não mencionarmos nenhum valor, o padrão é 8 KB

Exemplo:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"buffer="16KB"%>

Explicação do código:

No código acima, o tamanho do buffer é mencionado como 16 KB, em que o buffer seria desse tamanho

  1. isErrorPage:
  • Indica que a página JSP que possui uma página de erro será verificada em outra página JSP
  • Qualquer arquivo JSP declarado com o atributo "isErrorPage" é então capaz de receber exceções de outras páginas JSP que possuem páginas de erro.
  • As exceções estão disponíveis apenas para essas páginas.
  • O valor padrão é falso.

Sintaxe de isErrorPage:

<%@ page isErrorPage="true/false"%>

Exemplo:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"isErrorPage="true"%>

Explicação do código:

No código acima, isErrorPage é definido como verdadeiro. Conseqüentemente, ele verificará se qualquer outro JSPs possui o conjunto de atributos errorPage (descrito no próximo atributo) e se ele pode tratar exceções.

  1. Codificação de página:
O atributo "pageEncoding" define a codificação de caracteres para a página JSP.

O padrão é especificado como "ISO-8859-1" se qualquer outro não for especificado.

Sintaxe de pageEncoding:

<%@ page pageEncoding="vaue" %>

Aqui, o valor especifica o valor do conjunto de caracteres para JSP

Exemplo:

<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isErrorPage="true"%>

Explicação do código:

No código acima, "pageEncoding" foi definido para o conjunto de caracteres padrão ISO-8859-1

  1. errorPage:
Este atributo é usado para definir a página de erro para a página JSP se JSP lançar uma exceção e, em seguida, redirecionar para a página de exceção.

Sintaxe de errorPage:

<%@ page errorPage="value" %>

Aqui, o valor representa o valor da página JSP de erro

Exemplo:

<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"errorPage="errorHandler.jsp"%>

Explicação do código:

No código acima, para lidar com exceções, temos errroHandler.jsp

  1. isELIgnored:
  • IsELIgnored é um atributo de sinalização onde temos que decidir se devemos ignorar as tags EL ou não.
  • Seu tipo de dados é java enum e o valor padrão é false, portanto EL é habilitado por padrão.

Sintaxe de isELIgnored:

<%@ page isELIgnored="true/false" %>

Aqui, verdadeiro / falso representa o valor de EL se deve ser ignorado ou não.

Exemplo:

<%@ page language="java" contentType="text/html;" pageEncoding="ISO-8859-1"isELIgnored="true"%>

Explicação do código:

No código acima, isELIgnored é true e, portanto, Expression Language (EL) é ignorado aqui.

No exemplo abaixo, estamos usando quatro atributos (linha de código 1-2)

Exemplo com quatro atributos

<% @ page language = "java" contentType = "text / html;" pageEncoding = "ISO-8859-1"isELIgnored = "false"%><% @ page import = "java.util.Date"%> Diretiva Guru JSP1  A data é: <% = new java.util.Date ()%>

Explicação do código:

Linha de código 1-2: aqui definimos quatro atributos, ou seja

  • Linguagem: é definido como Java como linguagem de programação
  • contentType: defina como text / html para informar ao compilador que html deve ser formatado
  • pageEncoding: o conjunto de caracteres padrão é definido neste atributo
  • isELIgnored: Expression Tag é falsa, portanto, não é ignorada

Linha de código 3: aqui usamos o atributo import, e ele está importando "Classe de data", que é do pacote de utilitários Java, e estamos tentando exibir a data atual no código.

Ao executar o código acima, você obterá a seguinte saída

Produto :

  • A data é: a data atual usando o método de data da classe de data

Diretiva de inclusão JSP

  • JSP "diretiva de inclusão" (linha de código 8) é usada para incluir um arquivo em outro arquivo
  • Este arquivo incluído pode ser HTML, JSP, arquivos de texto, etc.
  • Também é útil para criar modelos com as visualizações do usuário e dividir as páginas em cabeçalhos e rodapés e ações da barra lateral.
  • Inclui arquivo durante a fase de tradução

Sintaxe da diretiva de inclusão:

<%@ include… .%>

Exemplo:

Directive_jsp2.jsp (arquivo principal)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ include file = "Directive_header_jsp3.jsp"%> Diretiva Guru JSP2  Este é o arquivo principal 

Directive_header_jsp3.jsp (que está incluído no arquivo principal)

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%> Arquivo de cabeçalho: <% int count = 1; contagem ++;out.println (contagem);%>:

Explicação do código:

Directive_jsp2.jsp:

Linha de código 3: neste código, usamos tags include onde estamos incluindo o arquivo Directive_header_jsp3.jsp no arquivo principal (_jsp2.jsp) e obtém a saída do arquivo principal e do arquivo incluído.

Directive_header_jsp3.jsp:

Linha de código 11-12: pegamos uma contagem de variável inicializada em 1 e a incrementamos. Isso dará a saída no arquivo principal conforme mostrado abaixo.

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

Resultado:

  • A saída é o arquivo de cabeçalho: 2: este é o arquivo principal
  • A saída é executada a partir do arquivo Directive_jsp2.jsp enquanto o arquivo Directive_header_jsp3.jsp incluído será compilado primeiro.
  • Após a finalização do arquivo incluído, o arquivo principal é executado, e a saída será do arquivo principal "Este é o arquivo principal". Portanto, você obterá a saída como "Arquivo de cabeçalho: 2" de _jsp3.jsp e "Este é o arquivo principal" de _jsp2.jsp.

Diretiva JSP Taglib

  • A diretiva taglib JSP é usada para definir a biblioteca de tags com "taglib" como prefixo, que podemos usar em JSP.
  • Mais detalhes serão cobertos na seção Tags personalizadas JSP
  • A diretiva taglib JSP é usada nas páginas JSP usando as bibliotecas de tags padrão JSP
  • Ele usa um conjunto de tags personalizadas, identifica a localização da biblioteca e fornece meios de identificar tags personalizadas na página JSP.

Sintaxe da diretiva taglib:

<%@ taglib uri="uri" prefix="value"%>

Aqui, o atributo "uri" é um identificador único no descritor da biblioteca de tags e o atributo "prefix" é um nome de tag.

Exemplo:

<% @ page language = "java" contentType = "text / html; charset = ISO-8859-1"pageEncoding = "ISO-8859-1"%><% @ taglib prefix = "gurutag" uri = "http://java.sun.com/jsp/jstl/core"%> Diretiva Guru JSP 

Explicação do código:

Linha de código 3: aqui, "taglib" é definido com os atributos uri e prefixo.

Linha de código 9: "gurutag" é a tag personalizada definida e pode ser usada em qualquer lugar