Pagine JavaServer

variables implícitaseditar

las páginas jsp incluyen ciertas variables privilegiade sintesidad de dichiararlas ni configurarlas:

Variabile CLASE
pageContext javax.servlet.jsp.PageContext
request javax.servlet.http.HttpServletRequest
response 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

DirectItaSeditar

Son Etiquetas A Parir de las Culès SE Genera Información Que Puede Ser Utilizada por El Motor de JSP. NO PRODUEN UNA SALIDA Visibile Al Usuario Sino Que Configura Cómo Se Ejecutará La Página JSP.

Su sintaxis ES:

 <%@ directiva atributo="valor" %>

Las Directivas Disponibles Son:

  • include: inclusione El Contenido de un fichero en la página mediante el file atributo file.

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

  • taglib: importa bibliotecas de etiquetas (tag librerie)

<%@ taglib uri="/tags/struts-html" prefix="html" %>

  • page: ATTRIBUTIS ATTRIBUTIFA RELACIONADOS CON LA PÁGINA A Procesar. Los Atributitos Son:
atributo Sintaxis utilización
import <%@ page import="class; class" %> importa clases y paquetes java para serutizadas denro del fichero jsp.
session ESPECTIFICA SI UTILIZA LOS DATOS CONTENIDOS IT SESIÓN; Di Defecto “TRUE”.
contentType <%@ page contentType="class; class" %> Especifica El Tipo Mime del Objeto “Risposta”; Di Defcto “Testo / HTML; charset = ISO-8859-1”.
buffer <%@ page buffer="12KB" %> buffer utilizado por el objeto writer “out”; Puede Tomar El Valor de “none”; Di Defcto “8kb”.
errorPage <%@ page errorPage="/path_to_error_page" %> ESPETIFICA LA RUTA DE LA PÁGINA DE ERRORE QUE SERÁ INVOCADE EN CASO DE PRODIDERSE UNA ECCCIÓN DURANTE LA EJECUCIÓN DE ESTE FICHERO JSP.
isErrorPage <%@ page isErrorPage="true" %> Determina SI Este Fichero JSP ES UNA PÁGINA QUE MANEJA Excepciones. Única a Este Tipo de Páginas Pueden Accertore A La Variabile implícita “Eccezione”, Que Contene La Exptión Que Provocó La Llamada A La Página de Error.

Dichiaracioneseditar

NOS Permiten Dichiarar Variables, Funciones Y DATOS ESTÁTICOS.

 <%! int maxAlumnosClase = 30; %>

H3> Scriptletletseditar

Los Scriptlets Son Partes de código Java incrostatas entre los elementos estáticos de la página ….

expresioneseditar

Las Expresiones SE Evalúan Dentro de la servlet. Nessun deben acabar en “;”.

 <%= maxAlumnosClase + 1%>

El Siguiente Ejemplo Pondría Como Título de la Página El Atributo “Titulo” Contenido en El Objeto Richiesta:

 <% String titulo = ""; if (request.getAttribute("titulo") != null) { titulo = (String) request.getAttribute ("titulo"); } %> ... <title><%=titulo%></title> ....

EtiquetaSeditar

Etiquetas JSP PARA SEMPLIFICAR EL Código Y Dar Mayor funcionalidad.

desarrarollar siios web utilizando eziquetas presents ciertas ventajas Como:

  • facilitazioni el aprendizaje.
  • failitarl el mantenimiento.
  • fomentar la modularidad y la reutilización.
  • Simplificar el Código Y Reducir El Número de líneas Necesarias.

La tua sintassi sarebbe:

 <%@ taglib uri="/taglib/lycka" prefix="lycka" %> ... <lycka:hola/> ...

Durante la generazione del codice Java del servlet, questo tag ciao sarà interpretato dal server delle applicazioni come appartenente alla biblioteca della biblioteca Lycka Library. Questa libreria sarà identificata nel file descrittore della nostra applicazione (Web.xml) con il nome della risorsa (URI) / Taglilib / Lycka.

 <taglib-uri>/taglib/lycka</taglib-uri> <taglib-location>/WEB-INF/tags/lycka.tld</taglib-location>

Un’implementazione di questo file descrittore, /Web-inf/tags/lyckka.tld potrebbe essere:

 <?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 infine, il server delle applicazioni sostituirà l’etichetta con il codice Java associato, org.lcyka.taglibs.Mequette:

 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 infine il browser mostrerebbe:

 Mi gata es preciosa

jspditar tag

sono le etichette appartenenti alle specifiche JSP. Forniscono funzionalità di base.

Un primo gruppo di etichette fornisce funzionalità a livello di pagina in un modo molto semplice:

  • < JSP: Avanti >, reindirizzare la richiesta a un altro URL
  • < jsp: includi >, include il testo di un file all’interno della pagina
  • < jsp: plugin >, scarica un plug-in Java (un’applet o un fagiolo).

Un secondo gruppo consente di manipolare i componenti JavaBean senza conoscenza di Java.

  • < jsp: USABEAN >, consente di manipolare un bean (se non esiste, il bean verrà creato), specificando il tuo ambito (scope ), La classe e il tipo.
  • < jsp: getproperty >, ottiene la proprietà specificata di un precedentemente dichiarato dichiarato Fagiolo e scrivilo sull’oggetto di risposta.
  • < jsp: setproperty >, imposta il valore di una proprietà di un bean dichiarato precedentemente dichiarato.

I tag JSTIDERS

sono forniti da Sun all’interno della distribuzione di JSTL.

  • Core, iterazioni, condizionale, movimentazione dell’URL e altre funzioni generali.
  • XML, per la manipolazione XML e XML-Transformation.
  • SQL, per gestire i collegamenti ai database.
  • i18n, per l’internazionalizzazione e la formattazione di catene di caratteri come figure.

tag tag taglibeditar

distribuito da Apache per correre insieme al framework delle struts.

  • php
  • bean
  • html
  • logica
  • annidato
  • vjgp

tag personalizzati

Abbiamo In precedenza ha visto un esempio per creare un tag personalizzato memorizzato nella nostra libreria di etichette.

per svilupparsi Etichette personalizzate, utilizzeremo le librerie di etichette API (tag librerie).

L’API del servlet Java è:

 javax.servlet.*

L’API JSP Si estende da questo API,

 javax.servlet.jsp.*

Infine, l’API delle librerie di etichette (tag librerie) si estende da quest’ultimo,

Il più rilevante di questa API è:

  • le interfacce
    • tag, che tutte le etichette devono essere implementate.
    • Bodytag, si estende al precedente e definisce metodi aggiuntivi per ispezionare il corpo di un tag.
  • classi
    • Bodycontent, un gestore (gestore) a Leggi e scrivi nel corp o un’etichetta.
    • Bodytagsupport, che implementa l’interfaccia BodyTag.
    • tagattrivengenteNFO, per ottenere le informazioni sugli attributi dell’etichetta dichiarati sul TLD.
    • tagdata, che contiene i valori degli attributi.
    • tagextrainfo, per specificare ulteriori informazioni da un’etichetta, come variabili che si inseriscono il codice o gli attributi che verranno convalidati.
    • Taginfo, in base alle informazioni del TLD.
    • TaglibraryInfo, rappresenta le informazioni di un TLD.
    • Tagsupport, implementa l’interfaccia tag.
    • VariableInfo, contiene Informazioni come il tipo e la portata delle variabili create o modificate dall’etichetta.

Possiamo trovare una descrizione più dettagliata in http://java.sun.com/j2ee/sdk_1.3/techdocs/api/javax/servlet/jsp/tagext/package-summary.html

Un altro esempio di tag potrebbe essere il seguente codice 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 si trova l’inizio dell’etichetta, il runtime invierà per la prima volta il metodo Dost () una volta che la classe ha stato istanziato. È possibile restituire uno dei seguenti valori:

  • skip_body, non procedere il contenuto del corpo del tag.
  • eval_body_include, valuta il corpo dell’etichetta.
  • eval_body_tag, valuta il corpo dell’etichetta e lancia il risultato verso un altro flusso memorizzato in una proprietà di etichette.

il metodo doraffterbody () dopo aver elaborato il corpo dell’etichetta.

Il metodo DOEDTAG () sarà invocato. È possibile tornare:

  • eval_page, per continuare l’elaborazione della pagina JSP
  • skip_page, per interrompere l’elaborazione della pagina JSP, ad esempio reindirizzare la pagina

dichiarato nel descrittore della biblioteca come

 <tag> <name>lowercase</name> <tagclass>org.lycka.taglibs.LowerCaseTag</tagclass> <bodycontent>JSP</bodycontent> <info>Put body in lowercase.</info> </tag>

Utilizzato sulla pagina JSP

 <%@ taglib uri="/taglib/lycka" prefix="lycka" %> ... <lycka:lowercase>Esto es un EJEMPLO</lycka:lowercase>

E il tuo output sarebbe

 esto es un ejemplo

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *