Informações
| Tipo: | Tutorial |
|---|---|
| Data de Publicação: | 01/01/2004 |
| Revisado em: | 01/01/2004 |
Vote!
Tags Relacionadas
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>Arquivo exemplo_02.jsp
<%@ include file="navbar.html" %>
<!-Parte específica da página ... -->
</body>
</html>
<font face="verdana" size=1 color="#ffffcc">Arquivo navbar.html
<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>
<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
