Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Tipo de arquivo JavaServer Page (JSP) Fragmento/Include JSP Arquivo de Tag Fragmento/Include Tag Descrio Arquivo de uma pgina JSP, que pode ter sintaxe JSP tradicional ou sintaxe XML Arquivo com fragmento ou trecho de pgina, para ser inserido em uma pgina JSP atravs de include JSP 2.0: Arquivo de definio de biblioteca de custom tags (taglib) JSP 2.0: Arquivo com fragmento ou trecho para ser inserido em um arquivo de Tab atravs de include Extenses comuns .jsp, .jspx .jspf, .jspi, .jsp_inc .tag, .tagx .tagf, .tagi, .tag_inc
Fases JSP
Fase Traduo Requisio Ocorre uma vez a cada ... Pgina nova/modificada Requisio pgina Descrio Validar sintaxe JSP, converter a pgina JSP em uma classe servlet (.java) e compil-la (.class) Execuo de cada requisio, processada atravs de uma instncia da classe gerada
Elementos JSP
Categ. Diretiva Tipo Page Include Taglib Descrio Define propriedades gerais em um arquivo JSP (ver quadro especfico) <%@ include file="URL_relativo" %> <jsp:directive.include file="URL_rel" /> Substitui texto/cdigo lido do arquivo @ directive.include (URL relativo contexto) na traduo < xmlns:prefixoTaglib="URI" > <%@ taglib uri="..." prefix="" %> Declara tag library e associa prefixo @ <%@ taglib tagdir= @ < xmlns:prefixo="urn:jsptld:/.tld" > (JSP 2.0: tagdir trata diretrio com "/WEB-INF/tags[/]" prefix="" %> < xmlns:prefixo="urn:jsptagdir:/" > arquivos de tag como biblioteca) <%@ tag atributo="valor" ... %> @ <jsp:directive.tag atributo="valor" ... /> directive.tag JSP2.0: Define propriedades em um arquivo tag (ver quadro especfico) <%@ attribute name="nome" <jsp:directive.attribute idem JSP /> JSP 2.0: Em um arquivo de tag, @ directive.attribute required="true|false" declara um atributo da tag definida; fragment="true|false" o tipo padro java.lang.String rtexprvalue="true|false" type="classe" description="" %> <%@ variable name-given="nome" <jsp:directive.variable idem JSP /> JSP 2.0: Declara uma varivel de @ directive.variable alias="atr" variable-class="classe" EL exposta para a pgina declare="true|false" chamadora, em arquivo de tag; a scope="AT_BEGIN|AT_END|NESTED" classe padro java.lang.String description="" %> <%! ... %> <jsp:declaration ... </jsp:declaration> Declara variveis e mtodos declaration> ! declaration <% ... %> <jsp:scriptlet ... </jsp:scriptlet> scriptlet> Fragmento de cdigo Java, a ser scriptlet executado durante a requisio <%= ... %> <jsp:expression ... </jsp:expression> expression> Expresso avaliada como String e = expression ento enviada para a sada (out) <jsp:... ... /> Aes pr-definidas disponveis para (ver quadros especficos) <jsp:... ...> ... </jsp:...> uso durante a requisio <prefixo:tag ... /> Novas aes adicionadas pgina <prefixo:tag ...> ... </prefixo:tag> c/ mecanismo de extenso de tags <%-- ... ---%> Ignorado, no enviado p/ sada (out) -...HTML esttico... <jsp:text ...HTML esttico... </jsp:text> text> Texto da pgina, enviado para out text Mrcio dvila, www.mhavila.com.br, 2003-2011, rev5 Pgina 1 de 4 Sintaxe JSP <%@ page atributo="valor" %> @
1
Tag Attribute
Variable
Cdigo
Ao
Padro
Descrio Declarao de imports Java, lista de imports (classe ou pacote.*) separados por vrgula. Padro: java.lang.*, javax.servlet.*, javax.servlet.jsp.*, javax.servlet.http.* Indica se a pgina requer (true) ou no (false) participar de uma sesso HTTP e acessar o objeto implcito session Define URL destino para forward se levantada exceo no tratada na pgina. Prevalece sobre pg. erro em web.xml Se true, indica que esta pgina JSP tratador de excees, referenciada pelo errorPage de outros JSP, e torna disponvel a varivel implcita exception que recebe a exceo levantada pela pgina origem Controla uso de buffer na sada (tamanho em Kbytes) ou escrita direta sem buffer (none). Padro: 8kb (ou mais) Especifica ao quando o buffer de sada enche: descarregar automaticamente (true) ou levantar exceo (false) Tipo MIME, segundo padres IANA (tipo/subtipo; charset). Padro: "text/html", ou "text/xml" se JSP sintaxe XML Codificao de caracteres (charset) da pgina, tem prioridade sobre o definido em contentType. Padro: ISO-8859-1 Texto (String) arbitrrio, pode depois ser lido na implementao da classe com o mtodo Servlet.getServletInfo( ) Classe Java para ser a superclasse (pai) da classe que implementa o JSP gerada na traduo. Raramente usado Define a linguagem de programao usada nas tags de script. Prev extensibilidade, mas hoje s permitido Java Como SingleThreadModel foi deprecado na API Servlet 2.4, deve-se evitar usar este atributo como false JSP 2.0: Define se expresses na linguagem de expresso (EL) devem ser ignoradas (true) ou avaliadas (false) na traduo. Uma expresso EL tem a forma ${ ... } ou #{ ... } e pode ocorrer em atributos dinmicos e em texto template JSP 2.0: Um nome (em geral curto) a ser exibido por ferramentas de desenvolvimento para identificao JSP 2.0: Prov informao sobre o contedo do corpo desta tag JSP 2.0: Indica se esta tag suporta atributos adicionais com nomes dinmicos; o atributo da pgina fornecido receber um Map contendo os nomes e valores dos atributos dinmicos fornecidos durante a chamada da tag JSP 2.0: Caminho (path) relativo (ao contexto ou ao arquivo de tag) do arquivo de imagem a ser exibida como cone pequeno em ferramentas de desenvolvimento, tipicamente em uma paleta JSP 2.0: Path relativo (ao contexto ou ao arquivo de tag) da imagem exibida como cone grande em ferramentas JSP 2.0: Texto arbitrrio que descreve esta tag JSP 2.0: Texto descrevendo um exemplo de uso desta tag JSP 2.1: ="true|false", permite (ou no) que a sequncia #{ seja usada como literal (compatvel com JSP 2.0) JSP 2.1: ="true|false", remove linhas em branco na sada HTML, normalmente deixadas no lugar de tags JSP
trimDirectiveWhitespaces
1
Tipologia: Termo sublinhado = valor padro (default). Termo itlico = valor ou expresso livre, definido pelo programador. Trecho [ entre colchetes ] = opcional. Mrcio dvila, www.mhavila.com.br, 2003-2011, rev5 Pgina 2 de 4
Dinmico
useBean
setProperty
<?xml version="1.0" ... ?> <jsp:root version="1.2|2.0" root xmlns:jsp="http://java.sun.com/JSP/Page" [ xmlns:prefixoTaglib="URI" ... ] > xmlns ... </jsp:root root> root <jsp:useBean id="nomeVarivel" class="pacote.classe" [ type="superclasse|interface" ] useBean scope="page|request|session|application" /> <jsp:useBean id="nomeVarivel" beanName="pacote.classe" type="..." scope="..."> useBean <jsp:useBean ...> ...trecho apenas ao instanciar... </jsp:useBean useBean> useBean useBean <jsp:setProperty name="beanId" property="*" /> setProperty <jsp:setProperty name="beanId" property="propriedade" param="parmetro" /> setProperty <jsp:setProperty name="beanId" property="propriedade" value="string" /> setProperty <jsp:getProperty name="beanId" property="propriedade" /> getProperty <jsp:param name="nomeParmetro" value="valor" /> param <jsp:include page="URLrelativo" flush="true|false" /> include <jsp:include page="URLrelativo" flush="..."> <jsp:param ... /> ... </jsp:include include> include include <jsp:forward page="URLrelativo" /> forward <jsp:forward page="URLrelativo"> <jsp:param ... /> ... </jsp:forward forward forward> forward <jsp:plugin type="bean|applet" code="classe" codebase="diretrio" ... > plugin [ <jsp:params <jsp:param ... /> ... </jsp:params ] params> params> params params [ <jsp:fallback ...texto se o plugin no iniciar... </jsp:fallback ] fallback> fallback> fallback fallback </jsp:plugin plugin> plugin Sintaxe(s)
1
beanName
value
Descrio Elemento raiz de um JSP em sintaxe XML, em geral inclui atributos namespace (xmlns) declarando taglibs JSP usadas no documento Localiza ou instancia um bean com o nome dado, dentro do escopo desejado Atribui valor (fixo ou vindo de parmetro) p/ propriedade(s) bean Retorna prop. do bean Define um parmetro Inclui recurso (URL relativo ao JSP/site) Encaminha request p/ URL (rel. ao JSP/site) Executa um applet ou bean como plug-in
output invoke
doBody
<jsp:element name="..." /> element <jsp:element name="..."> ... </jsp:element element> element element <ao ou custom tag> [ <jsp:attribute name="..." [ trim="true|false" ] [ omit="true|false" ] > attribute ...valor... </jsp:attribute ... ] attribute> attribute [ <jsp:body ... </jsp:body ] body> body> body body </ao ou custom tag> <jsp:output [ omit-xml-declaration="true|false" ] [ doctype-root-element="..." output doctype-pulblic="..." doctype-system="..." ] /> <jsp:invoke fragment="..." /> invoke <jsp:invoke fragment="..." var="varivel" [ scope="..." ] /> invoke <jsp:invoke fragment="..." varReader="varivel" [ scope="..." ] /> invoke <jsp:doBody /> doBody <jsp:doBody var="varivel" [ scope="..." ] /> doBody <jsp:doBody varReader="varivel" [ scope="..." ] /> doBody
Dinmico name
Descrio Define dinamicamente uma tag de elemento XML Define atributo(s) e corpo de uma ao padro JSP ou custom tag. JSP 2.2: atributo opcional omit Modifica propriedades da sada JSP (out) Usado em arquivos de tag, para invocar um arquivo de fragmento de tag (tagf) Usado em arquivos de tag, para imprimir ou acessar o contedo no corpo da tag
Um atributo dinmico (request-time) pode ter seu valor dado por expresso avaliada durante a requisio: <%= expresso %>, %= expresso %, ${ expresso }, #{ expresso }. Referncia Rpida JSP 1.2/2.x Mrcio dvila, www.mhavila.com.br, 2003-2011, rev5 Pgina 3 de 4
Notas: A referncia de sintaxe completa e tutoriais da tecnologia JSP 1.2 e 2.0 podem ser encontrados em http://java.sun.com/products/jsp/docs.html. A documentao de referncia das bibliotecas de tags padro JSTL pode ser encontrada em http://java.sun.com/products/jsp/jstl/reference/api/. O ndice das tecnologias componentes da plataforma Java EE pode se encontrado em http://www.oracle.com/technetwork/java/javaee/tech/index.html. Um destaque nas especificaes JSP, JSTL e JSF para a plataforma Java EE 5 foi a definio de uma Linguagem de Expresso (EL) Unificada. Veja http://java.sun.com/products/jsp/reference/techart/unifiedEL.html, http://java.sun.com/javaee/5/docs/tutorial/doc/bnahq.html. Novidades da JSP 2.1 (Java EE 5) so resumidas em http://java.sun.com/developer/technicalArticles/J2EE/jsp_21/ e da JSTL 1.2 em http://java.sun.com/developer/technicalArticles/J2EE/jstl/, por Pierre Delisle e Jennifer Ball, fevereiro 2006. Novidades da JSP 2.2 (2.1 Maintenance Release) em http://www.oracle.com/technetwork/java/javaee/jsp/index.html. Veja tambm: JSP 2.0 XML Cheat Sheet, em http://ndpsoftware.com/JSPXMLCheatSheet.html, por NDP Software. Referncia Rpida JSP 1.2/2.x Mrcio dvila, www.mhavila.com.br, 2003-2011, rev5 Pgina 4 de 4