Variáveis ImplícitasDAVer
Las Páginas JSP Incluyen Ciertas Variáveis Privilegias Sin Necesidad de Declararlas Ni Configurarlas:
claso | ||
---|---|---|
pageContext |
javax.servlet.jsp.PageContext |
|
request |
javax.servlet.http.HttpServletRequest |
|
javax.servlet.http.HttpServletResponse |
||
javax.servlet.http.HttpSession |
||
config |
javax.servlet.ServletConfig |
application |
javax.servlet.ServletContext |
out |
javax.servlet.jsp.JspWriter |
page |
java.lang.Object |
java.lang.Exception |
diretora / H3>
Son Etiquetas A Partir de Las Cuales Se Genera Información Que Puede Ser Utilizada por El Motor de JSP. Não Produto Una Salida Visível Al Usuário Sino Que Configura Cómo SE EJECTARÁ LA PÁGINA JSP.
su sintaxis es:
<%@ directiva atributo="valor" %>
las directivas Disponibles filho:
-
include
: Incluye el contenido de un fichero en la página mediance el arquivo.
<%@ include file="cabecera.html" %>
-
taglib
: importa bibliotecas de etiquetas (bibliotecas de tags)
<%@ taglib uri="/tags/struts-html" prefix="html" %>
-
page
: Especifica Atributos Relacionados Con La Página Um procesar. Filho de Los Atrutores:
atribution | Sintaxis | Utilización | |
---|---|---|---|
import |
<%@ page import="class; class" %> |
importe clases y paquetes java para ser utilizilhas dentro del fichero jsp. | |
especifica si utiliza los dados contenidos en sesión; por defecto “true”. | |||
contentType |
<%@ page contentType="class; class" %> |
especifica el tipo mime del objeto “resposta”; Por Defecto “Texto / HTML; charset = ISO-8859-1”. | |
buffer |
<%@ page buffer="12KB" %> |
buffer utilizado por el objeto escritor “out”; Puede Tomar El Valor de “Nenhum”; por defecto “8KB”. | |
errorPage |
especifica la ruta de la página de error que será invocada en casco de produção una excepción durante la ejecución de este fichero jsp. | ||
|
<%@ page isErrorPage="true" %> |
determinina si este fichero jsp es una página que maneja exceNa. Úmigão a este tipo de páginas Pueden Acceder A la variável implícita “Exceção”, Que Contiene La Excepción Que Provocó Llamada a La Página de Erro. |
DeclaracionesDAVer
Nos Permitence Variáveis Declarar, Funcciones Y Dados Estáticos.
<%! int maxAlumnosClase = 30; %>
scriptletseditar
los scriptlets filho partes de código java incrustadas entre los elementos estáticos de la página ….
expresioneseditar / h3>
las expresiones se Evalúan Dentro de la servlet. Nenhum deben acabar en “.
<%= maxAlumnosClase + 1%>
el Siguiente ejemplo Pondría Como Titulo de la Página El Atribuo “Titulo” Contenido PT El Objeto Solicitação:
<% String titulo = ""; if (request.getAttribute("titulo") != null) { titulo = (String) request.getAttribute ("titulo"); } %> ... <title><%=titulo%></title> ....
etiquetaseditar
etiquetas JSP Para Simplificar EL CÓDIGO Y DAR prefeito Funcionalidade.
Desarrollar Sitios Web Utilizando Etiquetas Presente Ciertas Ventajas Como:
- facilitar el Aprendizaje.
- facilitar el mantenimiento.
- fomentar la modularidad y la reutilización.
- simplificar el Código Y Reducir El Núcero de Línas Necesarias.
sua sintaxe seria:
<%@ taglib uri="/taglib/lycka" prefix="lycka" %> ... <lycka:hola/> ...
Ao gerar o código Java do servlet, esta tag olá será interpretada pelo servidor de aplicativos como pertencente à biblioteca da biblioteca Lycka Library. Esta biblioteca será identificada no arquivo de descritor do nosso aplicativo (Web.xml) com o nome do recurso (URI) / Taglib / Lycka.
<taglib-uri>/taglib/lycka</taglib-uri> <taglib-location>/WEB-INF/tags/lycka.tld</taglib-location>
Uma implementação desse arquivo de descritor, /web-inf/tags/lyckka.tld poderia ser:
<?xml version="1.0" encoding="ISO-8859-1" ?> <!DOCTYPE taglib PUBLIC "-//Sun Microsystems, Inc.//DTD JSP Tag Library 1.1//EN" "http://java.sun.com/j2ee/dtds/web-jsptaglibrary_1_1.dtd"> <taglib> <tlibversion>1.0</tlibversion> <jspversion>1.1</jspversion> <shortname>simp</shortname> <uri>http://www.hachisvertas.net/jcs/taglibs/lycka</uri> <info>A simple sample tag library</info> <tag> <name>hola</name> <tagclass>org.lcyka.taglibs.miEtiqueta</tagclass> <bodycontent>empty</bodycontent> <info>Alaba la belleza de mi gata.</info> </tag> </taglib>
e, finalmente, o servidor de aplicativos substituirá o rótulo por seu código Java associado, org.lcyka.taglibs.metiqueta:
package org.lcyka.taglibs; import ...; public class miEtiqueta extends TagSupport { public int doStartTag { try { pageContext.getOut().print("Mi gata es preciosa"); } catch (IOException ioe) { } return SKIP_BODY; }
E, finalmente, o navegador mostraria:
Mi gata es preciosa
tags jspditar
são as etiquetas pertencentes à especificação JSP. Eles fornecem funcionalidade básica.
Um primeiro grupo de etiquetas fornece funcionalidade no nível de página de uma maneira muito simples:
- < Jsp: encaminhamento > redirecione a solicitação para outro URL
- < jsp: incluir > inclui o texto de um arquivo dentro da página
- < jsp: plugin >, Baixe um plugin java (um applet ou um bean).
Um segundo grupo permite manipular componentes javebeanos sem conhecimento do Java.
-
JSP: usabean > permite manipular um feijão (se não existir, o bean será criado), especificando seu escopo (escopo ), A classe e tipo. - < jsp: getProperty >, obtém a propriedade especificada de um previamente declarado feijão e escreva no objeto de resposta.
- < jsp: setproperty >, defina o valor de uma propriedade de um bean declarado anteriormente.
Tags jstleditar
são fornecidos pelo sol dentro da distribuição do JSTL.
- núcleo, iterações, condicional, tratamento de url e outras funções gerais.
- XML, para manipulação XML e XML-transformação.
- sql, para gerenciar conexões para bancos de dados.
- i18n, para internacionalização e formatação de cadeias de caracteres como números.
struts tags taglibeditar
distribuído pelo apache para correr junto com a estrutura de struts.
- php
- bean
- html
- lógica
- aninhado
- vjgp
tags personalizado
temos viu anteriormente um exemplo para criar uma etiqueta personalizada armazenada em nossa própria biblioteca de etiquetas.
desenvolver Etiquetas personalizadas, vamos usar a API de bibliotecas de etiquetas (bibliotecas de tags).
A API do servlet Java é:
javax.servlet.*
a API JSP estende-se desta API,
javax.servlet.jsp.*
Finalmente, a API de bibliotecas de etiquetas (bibliotecas de tags) se estende do último,
javax.servlet.jsp.tagext.*
O mais relevante desta API são:
- a tag
- , que todos os rótulos devem ser implementados.
- BodyTag, estende-se para o anterior e define métodos adicionais para inspecionar o corpo de uma tag.
- classes
- bodycontent, um manipulador (manipulador) para Leia e escreva no Corp ou um rótulo.
- bodytagsupport, que implementa a interface de bodytag.
- tagattributeinfo, para obter as informações sobre os atributos do rótulo declarados no TLD.
- tagdata, que contém os valores dos atributos.
- tagextrainfo, para especificar informações extras de uma etiqueta, como as variáveis inseridas o código ou os atributos que serão validados.
- TagInfo, com base na informação do TLD.
- taglibraryInfo, representa as informações de um tld.
- tagsupport, implementa a interface de tag.
- variávelinfo, contém Informações como o tipo e o escopo das variáveis criadas ou modificadas pelo rótulo.
podemos encontrar uma descrição mais detalhada em http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/jsp/tagext/package-summary.html
outro exemplo de tag poderia ser o seguinte código java:
package org.lycka.taglibs; import ...; public class LowerCaseTag extends BodyTagSupport { public int doAfterBody() throws JspException { try { BodyContent body = getBodyContent(); JspWriter writer = body.getEnclosingWriter(); String bodyString = body.getString(); if ( bodyString != null ) { writer.print( bodyString.toLowerCase()); } } catch(IOException ioe) { throw new JspException("Error: IOException while writing to the user"); } return SKIP_BODY; } }
Quando você encontrar o início do rótulo, o tempo de execução será primeiro invocado o método DOSTART () quando a classe tiver foi instanciado. Você pode retornar um dos seguintes valores:
- skip_body, não prossiga o conteúdo do corpo da tag.
- eval_body_include, avalie o corpo do rótulo.
- eval_body_tag, avalia o corpo do rótulo e lança o resultado para outro fluxo armazenado em uma propriedade de etiqueta.
o método do dofterbodybody () após processar o corpo do rótulo.
O método doendtag () será invocado. Você pode retornar:
- eval_page, para continuar processando a página JSP
- skip_page, para parar de processar a página JSP, por exemplo, redirecionando a página
Declarado no descritor de biblioteca como
<tag> <name>lowercase</name> <tagclass>org.lycka.taglibs.LowerCaseTag</tagclass> <bodycontent>JSP</bodycontent> <info>Put body in lowercase.</info> </tag>
usado na página JSP
<%@ taglib uri="/taglib/lycka" prefix="lycka" %> ... <lycka:lowercase>Esto es un EJEMPLO</lycka:lowercase>
e sua saída seria
esto es un ejemplo