Variables ImplíciSeDitatar
Las Páginas JSP Variables Variables Privilégiadas Sin Necesidad de Dévéral Ni Configurarlas:
la variable | ||
---|---|---|
pageContext |
javax.servlet.jsp.PageContext |
|
request |
javax.servlet.http.HttpServletRequest |
|
<71CF81D569 ">
|
javax.servlet.http.HttpServletResponse |
|
session |
javax.servlet.http.HttpSession |
|
config |
javax.servlet.ServletConfig |
|
application |
javax.servlet.ServletContext |
|
out |
javax.servlet.jsp.JspWriter |
|
page |
java.lang.Object |
|
exception |
java.lang.Exception |
Sintaxis | UTILIZACIÓN | |
---|---|---|
import |
|
Importa Clases y Paquestes Java Para Ser Utilizadas Dentro Dentro del Fichero JSP. |
session |
<%@ page session="false" %> |
especifica si utiliza los datos contenidos fr sesión; por défectueux « vrai ». |
contentType |
<7bcbd8dddf "> | especifica el tipo mime del objeto « réponse »; Por Défecto « Texte / HTML; Charset = ISO-8859-1 ». |
<%@ page buffer="12KB" %> |
tampon utilizado por el objeto écrivain « Out »; Publier Tomar El Valor de « Aucun »; por défectueux « 8kb ». | |
errorPage |
<76A85F4E19 "> | Especifica La Ruta de la Página de Erreur Que Será Invocada en Caso de producres Una Excepción Durante La Ejecución de Este Fichero JSP. |
isErrorPage |
<%@ page isErrorPage="true" %> |
DÉTERNINE SI ESTE FICHERO JSP ES UNA PÁGINA QUE MANEJA Excepciones. Únicamente A Este Tipo de Páginas Pueden Accédataire A La variable Implícita « Exception », que contienne la excepción que provocó la llamada a la página de erreur. |
Déclaracioneseditatar
Variables de l’autorisation de NOS, Funciones Y Datos Estáticos.
<%! int maxAlumnosClase = 30; %>
Scriptletseditatar
Los Scriptlets fils Partes de Código Java incrustadas Entre Los Élementos Estáticos de la Página ….
<% ... código Java ... %>
Expresioneseditatar
Las Expresiones SE EVALYAN DENTRO DE LA SERVELT. Aucun débène acabar en « ; ».
<%= maxAlumnosClase + 1%>
<42f39cc2ab " >
el SIGUIENTE EJEMPLO PONDRÍA COMO TÍTULO DE LA PAGINA el Atributo « Titulo » Contenido en el objeto Demande:
<% String titulo = ""; if (request.getAttribute("titulo") != null) { titulo = (String) request.getAttribute ("titulo"); } %> ... <title><%=titulo%></title> ....
EtiqueTas JSP para Simplificar El Código Y Dar Mayor Funcionalidad.
Site deserrollar Web utilizando étiquetas présentata ciertas VENTAJAS Côme:
- Facilitar el Aprendizaje.
- Facilitar el Mantenimiento.
- Fomentar la modularidad y latitutilización.
- Simplificar El Código Y Resducir El Número de Líneas Necesarias.
Votre syntaxe serait:
<%@ taglib uri="/taglib/lycka" prefix="lycka" %> ... <lycka:hola/> ...
Lorsque vous générez le code Java du servlet, cette étiquette sera interprétée par le serveur d’applications appartenant à la bibliothèque de bibliothèque Lycka Library. Cette bibliothèque sera identifiée dans le fichier de descripteur de notre application (web.xml) avec le nom de ressource (URI) / TAGLIB / LYCKA.
<taglib-uri>/taglib/lycka</taglib-uri> <taglib-location>/WEB-INF/tags/lycka.tld</taglib-location>
Une implémentation de ce fichier de descripteur, /web-inf/tags/lyckka.tld pourrait être:
<?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>
<42f39cc2ab">
et enfin, le serveur d’applications remplacera l’étiquette par son code Java associé, org.lcyka.taglibs.métiquette:
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; }
Et enfin le navigateur montrerait:
Mi gata es preciosa
JSPDITAR Tags
sont les étiquettes appartenant à la spécification JSP. Ils fournissent une fonctionnalité de base.
Un premier groupe d’étiquettes fournit des fonctionnalités au niveau de la page de manière très simple:
- < JSP: vers l’avant >, redirige la requête à une autre URL
- < JSP: Inclure >, inclut le texte d’un fichier à l’intérieur de la page
- < jsp: plugin >, téléchargez un plugin Java (un applet ou un haricot).
Un deuxième groupe permet de manipuler des composants Javabean sans connaissance de Java.
- < JSP: USABEAN >, vous permet de manipuler un haricot (si cela n’existe pas, le haricot sera créé), spécifiant votre portée (portée ), La classe et le type.
- < jsp: getProperty >, obtient la propriété spécifiée d’une déclaration précédemment déclarée haricot et écrivez-le sur l’objet de réponse.
- < JSP: SETPROPERTY >, définissez la valeur d’une propriété d’un haricot déclaré précédemment.
JstleDitatar Tags
sont fournis par Sun dans la distribution de JSTL.
- Core, Itérations, Conditionnel, Handling URL et autres fonctions générales.
- XML, pour la manipulation transformation XML XML et.
- SQL, pour gérer les connexions aux bases de données.
- I18N, pour l’ internationalisation et le formatage des chaînes de caractères chiffres.
balises de force Taglibeditatar
Distribué par Apache pour s’épuiser avec le cadre de jambes de force.
- php
- haricot
- html
- logique
- imbriqué
- vjgp
balises personnalisées
nous avons déjà vu un exemple pour créer une balise personnalisée stockée dans notre propre bibliothèque d’étiquettes.
développer Etiquettes personnalisées, nous utiliserons les API de bibliothèques d’étiquettes (Bibliothèques de balises).
L’API de servlet Java est la suivante:
javax.servlet.*
L’API JSP s’étend de cette API,
javax.servlet.jsp.*
Enfin, l’API des bibliothèques d’étiquettes (Bibliothèques de balises) s’étend de ce dernier,
javax.servlet.jsp.tagext.*
La plus pertinente de cette API sont:
- Les interfaces
- , qui doit être mis en œuvre toutes les étiquettes
BodyTag, s’étend au précédent et définit des méthodes supplémentaires pour inspecter le corps d’une étiquette.
- BodyContent, un gestionnaire (gestionnaire) à Lire et écrire dans le Corp ou une étiquette.
- BodyTagsUpport, qui implémente l’interface BodyTag.
- tagattributeinfo, pour obtenir les informations sur les attributs d’étiquettes déclarées sur le TLD.
- TAGDATA, qui contient les valeurs des attributs.
- TAGEXTRAINFO, pour spécifier des informations supplémentaires à partir d’une étiquette, car les variables que vous entrez dans le code ou les attributs qui seront validés.
- Taginfo, basé sur les informations du TLD.
- TaglibraryInfo, représente les informations d’un TLD.
- tagsupport, implémente l’interface de balise.
- variableIfo, contient Des informations telles que le type et la portée des variables créées ou modifiées par l’étiquette.
Nous pouvons trouver une description plus détaillée dans http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/jsp/tagext/package-summary.html
Un autre exemple de tag Pourrait être le code Java suivant:
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; } }
Lorsque vous trouvez le début de l’étiquette, le temps d’exécution sera d’abord appelé la méthode Dostart () une fois la classe été instancié. Vous pouvez renvoyer l’une des valeurs suivantes:
- skip_body, ne procédez pas au contenu du corps de la balise.
- eval_body_include, évaluez le corps de l’étiquette.
- eval_body_tag, évalue le corps de l’étiquette et jette le résultat à un autre flux stocké dans une propriété d’étiquette.
la méthode Doafftertorbody () après traitement du corps de l’étiquette.
La méthode DOENDTAG () sera invoquée. Vous pouvez revenir:
- eval_page, pour continuer à traiter la page JSP
- skip_page, pour arrêter le traitement de la page JSP, par exemple rediriger la page
déclaré dans le descripteur de bibliothèque comme
<tag> <name>lowercase</name> <tagclass>org.lycka.taglibs.LowerCaseTag</tagclass> <bodycontent>JSP</bodycontent> <info>Put body in lowercase.</info> </tag>
Utilisé sur la page JSP
<42f39cc2ab">
<%@ taglib uri="/taglib/lycka" prefix="lycka" %> ... <lycka:lowercase>Esto es un EJEMPLO</lycka:lowercase>
et votre sortie serait
esto es un ejemplo