Informações

Tipo: Tutorial
Data de Publicação: 01/01/2004
Revisado em: 01/01/2004

Vote!

  • Currently 4,0/5 Stars.
  • 1
  • 2
  • 3
  • 4
  • 5

Tags Relacionadas

jsp

Comentários ( 3 )

Imprimir

Simbologia - parte 2

por:

Ulisses Telemaco (ulisses@j2eebrasil.com.br)

Este tutorial apresenta algumas simbologias relacionadas à tecnologia JSP.

As diretivas são usadas para fornecer informações especiais ao container JSP sobre a página JSP quando esta é compilada para servlet. As diretivas JSP afetam a estrutura global da classe servlet.

Existem dois tipos principais de diretivas:

  • page: permite situações como importação de classes, customização de super classes servlet entre outras;
  • include: permite que seja inserido o conteúdo de um arquivo no servlet no momento em que o arquivo JSP é traduzido para servlet.

1. Diretiva page

A diretiva page tem a seguinte sintaxe:

<%@ page attribute1=valor1 attribute2=valor2 attribute3=... %>

Abaixo relacionamos os atributos mais utilizados nas diretivas page:

1.1. Atributo import
import="package.class" ou import="package.class1,...,package.classN".

Permite que seja especificado qual o pacote a ser importado. Por exemplo:
<%@ page import="java.util.*" %>
O atributo import attribute é o único que pode aparecer várias vezes.

1.2. Atributo isThreadSafe
isThreadSafe="true|false".

O valor de true (default) indica o processamento normal do servlet quando múltiplas requisições podem ser acessadas simultaneamente na mesma instância de servlet. O valor false indica que o servlet deve implementar SingleThreadModel, como requisição para cada requisição sinalizada ou com requisições simultâneas sendo uma em cada instância.

1.3. Atributo session
session="true|false".

O valor de true (default) indica que a variável predefinida session (do tipo HttpSession) deve estar ligada a sessão existente, caso não exista uma sessão, uma nova sessão deve ser criada para ligá-la. O valor false indica que sessões não devem ser usadas. Aqui está a implementação do contexto.

1.4. Atributo buffer
buffer="sizekb|none"

Especifica o tamanho do buffer para o JspWriter out. O buffer padrão é definido pelo servidor.

1.5. Atributo autoFlush
autoflush="true|false"

O valor de true (default) indica se o buffer deve ser esvaziado quando estive cheio. O valor false, indica que uma exceção deve ser mostrada quando ocorrer overflows.

1.6. Atributo extends
extends="package.class"

Define se a super classe do servlet deve ser gerada.

1.7. Atributo info
info="message"

Define uma string que pode ser recuperada pelo método getServletInfo. Com esse atributo o autor pode adicionar uma cadeia de documentação à página que sumariza sua funcionalidade. O valor padrão para o atributo info é a cadeia vazia.

1.8. Atributo errorPage
errorPage="url"

Especifica que a página JSP deve processar algum Throwables, mas não carregá-lo na página corrente.

1.9. Atributo isErrorPage
isErrorPage="true|false"

Define se uma página pode atuar como uma página de erro para uma outra página JSP. O default é false.

1.10. Atributo language
language="java"

Especifica a linguagem que está sendo usada. Por enquanto o JSP suporta somente Java.


02. Diretiva include

A diretiva include permite que sejam incluídos arquivos na hora em que a página JSP é traduzida no servlet. Uma directive include é algo como:

<%@ include file="relative url" %>

Essa diretiva pode ser implementada de acordo com o seguinte exemplo: muitos sites têm uma barra de navegação em cada página. Devido a problemas com frames HTML isto é normalmente implementado com um tabela repetindo o código HTML em cada página do site. Esta directive supre essa necessidade de minimizar os esforços de manutenção conforme o código abaixo:

<html>

<%@ include file="navbar.html" %>

<!-Parte específica da página ... -->

</body>
</html>
Arquivo exemplo_02.jsp

<font face="verdana" size=1 color="#ffffcc">
<a href="home.jsp">HOME</a> -
<a href="secao_01.jsp">SEÇÃO 01</a> -
<a href="secao_02.jsp">SEÇÃO 02</a> -
<a href="secao_02.jsp">SEÇÃO 02</a>
</font>
Arquivo navbar.html

<html>
<body>

<font face="verdana" size=1 color="#ffffcc">
<a href="home.jsp">HOME</a> -
<a href="secao_01.jsp">SEÇÃO 01</a> - 
<a href="secao_02.jsp">SEÇÃO 02</a> -
<a href="secao_02.jsp">SEÇÃO 02</a>
</font>

<!-Parte específica da página ... -->

</body>
</html>
Código do arquivo "exemplo_02.jsp" visto pelo browser

Apresentamos a seguir um resumo da sintaxe do JSP:

Declarações Declara variáveis e métodos válidos no script daquela página. <%! declaração; [declaração;]+ ... %>
Expressões Contém uma expressão válida no script daquela página. <%= expressão %>
Scriptlet Contém um fragmento de código válido no script daquela página. <% fragmento de um código com uma ou mais linhas %>
Comentário HTML Cria um comentário que é enviado para o cliente viabilizar no código da página. <!-- comentário [<%= expressão %>] -->
Comentário JSP É visto apenas no fonte do JSP mas não é enviado para o cliente. <%-- comentário --%> ou
<% /* comentário */ %>
Diretiva "Include" Inclue um arquivo estático, analisando os elementos JSP daquela página. <%@ include file="URL relativa" %>
Diretiva "Page" Define atributos que serão aplicados a uma página JSP. <%@ page [ atributo = valor(es) ] %>
atributos e valores:
- language="java"
- extends = "package.class"
- import = "{package.class" | package.* }, ..." ]
- session = "true | false"
- buffer = "none | 8kb | sizekb"
- autoFlush = "true | false"
- isThreadSafe = "true | false"
- info = "text"
- errorPage"relativeURL"
- contentType = "{mimeType [; charset = characterSet ] text/html; charset = isso-8859-1}"
- isErrorPage = "true | false"
Diretiva Taglib Define uma biblioteca tag e um prefixo para uma tag padrão usada na página JSP. <%@ taglib uri="URIToTagLibrary" prefix="tagPrefix" %>
<tagPrefix:name> Acessa um padrão de funcionalidade de uma tag. <tagPrefix:name attribute="value" + ... />

<tagPrefix:name attribute="value" + ... >
other tags and data
</tagPrefix:name>
<jsp:foward> Redireciona uma requisição para um arquivo HTML, JSP ou servlet para processar. <jsp:forward page="{relativeURL | <%= expressão %>}"

Comentários (3)

Exelente para iniciantes lerem a parte I com a parte II... para inicio está bastante completo.
postado por Felipe Tavares em 21/12/2006 às 23:21
Só está um pouco pobre em exemplos...
postado por Felipe Tavares em 21/12/2006 às 23:21
Apenas um pouco vago nos exemplos..
postado por Aluno em 04/09/2007 às 23:21
Comente!

Observações

Os campos em negrito são obrigatórios.

Para evitar problemas, este espaço é moderado. Após o envio do comentário será necessário aguardar pela sua aprovação.