Etiquetas de acción JSP

¿Qué es la acción JSP?

Las acciones JSP utilizan la construcción en sintaxis XML para controlar el comportamiento del motor de servlet. Podemos insertar dinámicamente un archivo, reutilizar los componentes beans, reenviar al usuario a otra página, etc. a través de acciones JSP como incluir y reenviar. A diferencia de las directivas, las acciones se reevalúan cada vez que se accede a la página.

Sintaxis:

<jsp:action_name attribute="value" />

En este tutorial, aprenderá sobre las acciones estándar de JSP. Las etiquetas de acción estándar JSP se utilizan para controlar el comportamiento del motor de servlet.

Lista de las etiquetas de acción más utilizadas en JSP

Hay 11 tipos de etiquetas de acción estándar en JSP, y aquí está la lista completa de ellas.

Nombre de etiqueta de acción Sintaxis Descripción
jsp: useBean Se utiliza para invocar y utilizar beans en la página JSP.
jsp: incluir Incluye otro archivo JSP en el archivo actual durante el procesamiento de la solicitud.
jsp: setProperty Establece la propiedad de un bean.
jsp: getProperty Recupera la propiedad de un bean y la convierte en una cadena para salida.
jsp: adelante Reenvía la solicitud a otra JSP o página estática.
jsp: complemento Presenta Java componentes como applets o beans en JSP y genera etiquetas automáticamente.
jsp: cuerpo Define elementos XML que se generan dinámicamente durante el procesamiento de la solicitud.
jsp: texto texto de plantilla Se utiliza para insertar texto de plantilla en páginas JSP, que contiene solo texto y expresiones EL.
jsp: param Pasa parámetros dentro de la acción jsp:plugin para agregar datos adicionales.
jsp: atributo Define atributos XML que se generan dinámicamente.
jsp: salida Especifica la declaración XML o DOCTYPE que se utilizará en la salida.

jsp: useBean

  • Este nombre de acción se usa cuando queremos usar beans en la página JSP.
  • Con esta etiqueta podemos invocar fácilmente un bean.

Sintaxis de jsp: UseBean:

<jsp:useBean id="" class="" />

Aquí especifica el identificador de este bean y la clase es la ruta completa de la clase de bean.

Ejemplo:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Action JSP1</title>
</head>
<body>
<jsp:useBean id="name" class="demotest.DemoClass">
</body>
</html>

Explicación del código:

Línea de código 10: En el código anterior utilizamos "id de bean" y "ruta de clase" del bean.

jsp: incluir

  • También solía insertar un archivo jsp en otro archivo, al igual que incluir instrucciones.
  • Se agrega durante la fase de procesamiento de la solicitud.

Sintaxis de jsp: incluir

<jsp:include page="page URL" flush="true/false">

Ejemplo:

Action_jsp2 (Línea de código 10) estamos incluyendo un archivo date.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Date Guru JSP</title>
</head>
<body>
<jsp:include page="date.jsp" flush="true" />
</body>
</html>

Fecha.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%> 
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Insert title here</title>
</head>
<body>
<p>
Today's date: <%= {new java.util.Date()).toLocaleString()%>
</p>
</body>
</html>

Explicación del código:

Acción_jsp2.jsp

Línea de código 10: En el primer archivo incluimos el archivo date.jsp en action_jsp2.jsp

Fecha.jsp:

Línea de código 11: Estamos imprimiendo la fecha de hoy en la línea de código 11 en date.jsp

Cuando ejecuta el código el siguiente es el resultado.

jsp: incluir

Salida:

  • Muestra la fecha de hoy con la hora, ya que el archivo de fecha está incluido en el jsp principal.

jsp: setProperty

  • Esta propiedad de acciones estándar en JSP se utiliza para establecer la propiedad del bean.
  • Necesitamos definir un bean antes de establecer la propiedad.

Sintaxis:

<jsp:setproperty name="" property="" >

Aquí, el nombre define el bean cuya propiedad se establece y la propiedad que queremos establecer. También podemos establecer el valor y el atributo param. Aquí el valor no es obligatorio y define el valor que se asigna a la propiedad. Aquí param es el nombre del parámetro de solicitud mediante el cual se puede obtener el valor. El ejemplo de setproperty se demostrará a continuación con getproperty

jsp: getProperty

  • Esta propiedad se utiliza para obtener la propiedad del frijol.
  • Se convierte en una cadena y finalmente se inserta en la salida.

Sintaxis:

<jsp:getAttribute name="" property="" >

Aquí se indica el nombre del bean del que se debe recuperar la propiedad y se debe definir el bean. El atributo de propiedad es el nombre de la propiedad del bean que se debe recuperar.

Ejemplo de setProperty y getProperty:

TestBean.java:

package demotest;

import java.iO.Serializable;

public class TestBean implements Serializable{
	
	private String msg = "null";
	
	public String getMsg() {
		return msg;
	}
	
	public void setMsg(String msg) {
		this.msg = msg;
	}
}

Acción_jsp3.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Action 3</title>
</head>
<body>
<jsp:useBean id="GuruTest" class="demotest.TestBean" />
<jsp:setProperty name="GuruTest" property="msg" value="GuruTutorial" />
<jsp:getProperty name="GuruTest" property="msg" />
</body>
</html>

Explicación del código:

TestBean.java:

Línea de código 5: TheTestBean está implementando la clase serializable. Es una clase de frijol con getters y definidores en el código.

Línea de código 7: Aquí tomamos la variable de cadena privada msg como "nula"

Línea de código 9-14: Aquí estamos usando captadores y definidores de la variable "msg".

Acción_jsp3.jsp

Línea de código 10: Aquí estamos usando la etiqueta "useBean", donde especifica el bean, es decir, TestBean, que debe usarse en esta clase jsp.

Línea de código 11: Aquí estamos configurando el valor de la propiedad msg para el bean TestBean como "GuruTutorial".

CodeLine12: Aquí, usando getProperty, obtenemos el valor de la propiedad msg para el bean TestBean, es decir, GuruTutorial, que está en la salida.

Cuando ejecuta el código anterior, obtiene el siguiente resultado:

jsp: getProperty

Salida:

En este ejemplo, usando TestBean, intentamos establecer la propiedad "gurutest" usando setProperty y obtener el valor de la propiedad usando getProperty como "GuruTutorial".

jsp: adelante

Se utiliza para reenviar la solicitud a otro jsp o cualquier página estática.

Aquí la solicitud se puede reenviar sin parámetros o con parámetros.

Sintaxis:

<jsp:forward page="value">

Aquí el valor representa dónde se debe reenviar la solicitud.

Ejemplo:

Acción_jsp41.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Action JSP1</title>
</head>
<body>
<jsp:forward page="jsp_action_42.jsp" />
</body>
</html>

Jsp_action_42.jsp

Guru Action JSP2</title>
</head>
<body>
<a>This is after forward page</a>
</body>
</html>

Explicación del código

Acción_jsp41.jsp

Línea de código 10: Aquí estamos utilizando la acción JSP de reenvío para reenviar la solicitud a la página mencionada en el atributo, es decir, jsp_action_42.jsp.

Jsp_action_42.jsp

Línea de código 10: Una vez que llamamos a action_jsp41.jsp, la solicitud se reenvía a esta página y obtenemos el resultado "Esto es después de la página de reenvío".

Cuando ejecutamos el código anterior, obtenemos el siguiente resultado

jsp: adelante

Salida:

Llamamos a action_jsp41.jsp pero la solicitud se reenvía a jsp_action_42.jsp y obtenemos el resultado de esa página como "Esto es después de la página de reenvío".

jsp: complemento

  • Se utiliza para introducir Java componentes en jsp, es decir, los componentes de Java pueden ser un subprograma o un bean.
  • Detecta el navegador y agrega etiquetas JSP o al archivo.

Sintaxis:

<jsp:plugin type="applet/bean" code="objectcode" codebase="objectcodebase">
  • Aquí el tipo especifica un objeto o un bean.
  • El código especifica el nombre de clase del subprograma o bean.
  • La base del código contiene la URL base que contiene archivos de clases.

jsp: param

  • Este es el objeto secundario del objeto complemento descrito anteriormente.
  • Debe contener una o más acciones para proporcionar parámetros adicionales.

Sintaxis:

<jsp:params>
<jsp:param name="val" value="val"/ >
</jsp:params>

Ejemplo de complemento y parámetro

Acción_jsp5.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Action guru jsp5</title>
</head>
<body>
<jsp:plugin type="bean" code="Student.class" codebase="demotest.Student">
  <jsp:params>
     <jsp:param name="id" value="5" />
     <jsp:param name="name" value="guru" />
  </jsp:params>
</jsp:plugin>
</body>
</html>

Estudiante.java

package demotest; 

import java.io.Serializable;

public class Student implements Serializable {
	
	public String getName () { 
		return name; 
	}
	public void setName (String name) {
		this.name = name;
	}
	public int getId() { 
		return id; 
	} 
	public void setId (int id) { 
		this.id = id; 
	} 
	private String name = "null"; 
	private int id = 0;
	
}

Explicación del código:

Acción_jsp5.jsp

Línea de código 10: Aquí estamos tomando jsp: objeto complemento donde tomamos tres atributos

  • Tipo – en este caso es frijol
  • Código- nombre del archivo
  • Base de código: ruta con el nombre del paquete

Línea de código 11-14: Aquí estamos tomando el objeto jsp: params bajo el cual hay un objeto de parámetro secundario con los atributos de nombre y valor, y estamos configurando los valores de id y nombre en estos atributos.

Estudiante.java

Código 7-17: Estamos utilizando captadores y definidores para la identificación y el nombre de las variables.

Código 19-20: Estamos inicializando las variables id y nombre.

Aquí obtendremos resultados en el caso de que los valores establecidos de parámetro se utilicen en Student Bean. En este caso, no tendremos ningún resultado ya que solo configuramos y obtenemos valores de parámetro pero no los imprimimos en ninguna parte.

jsp: cuerpo

  • Esta etiqueta se utiliza para definir el XML dinámicamente, es decir, el Elementos puede generar durante el tiempo de solicitud que el tiempo de compilación.
  • En realidad, define el XML, que se genera dinámicamente como cuerpo del elemento.

Sintaxis:

<jsp:body></jsp:body>

Aquí escribimos la etiqueta del cuerpo XML dentro de estas etiquetas.

jsp: atributo

  • Esta etiqueta se utiliza para definir el XML dinámicamente, es decir, los elementos se pueden generar durante el tiempo de solicitud que durante el tiempo de compilación.
  • En realidad, define el atributo de XML que se generará dinámicamente.

Sintaxis:

<jsp:attribute></jsp:attribute>

Aquí escribimos la etiqueta de atributo de XML.

Ejemplo de cuerpo y atributo:

Acción_jsp6.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Action Guru JSP6</title>
</head>
<body>
<jsp:element name="GuruXMLElement">
<jsp:attribute name="GuruXMLattribute">
Value
</jsp:attribute>
<jsp:body>Guru XML</jsp:body>
</jsp:element>
</body>
</html>

Explicación del código:

Línea de código 10: Aquí estamos definiendo un elemento, que se genera dinámicamente como XML, y su nombre será GuruXMLElement

Línea de código 11-13: Aquí estamos definiendo un atributo que será el atributo XML del XML generado dinámicamente.

Línea de código 14: Aquí tenemos la acción del cuerpo donde escribimos el cuerpo XML que se generará en XML dinámicamente.

Cuando ejecuta el código anterior, obtiene el siguiente resultado:

jsp: atributo

Salida:

Aquí obtenemos el resultado de la etiqueta del cuerpo del XML generado.

jsp: texto

  • Se utiliza para crear plantillas de texto en páginas JSP.
  • Su cuerpo no contiene ningún otro elemento y solo contiene texto y expresiones EL.

Sintaxis:

<jsp:text>template text</jsp:text>

Aquí el texto de la plantilla se refiere únicamente al texto de la plantilla (que puede ser cualquier texto genérico que deba imprimirse en jsp) o cualquier Expresión EL.

Ejemplo:

Acción_jsp7.jsp

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Guru Action JSP7</title>
</head>
<body>
<jsp:text>Guru Template Text</jsp:text>
</body>
</html>

Explicación del código:

Línea de código 10: Aquí estamos tomando un objeto de texto para imprimir el texto de la plantilla.

Cuando ejecutas el código anterior, obtienes el siguiente resultado

jsp: texto

Salida:

Obtenemos el texto de plantilla de Guru, que se coloca dentro de los objetos de acción de texto.

jsp: salida

  • Especifica la declaración XML o la declaración DOCTYPE de jsp.
  • La declaración XML y DOCTYPE se declaran en la salida.

Sintaxis:

<jsp:output doctype-root-element="" doctype-system="">

Aquí, doctype-root-element indica el elemento raíz del documento XML en DOCTYPE. Doctype-system indica el tipo de documento que se genera en la salida y proporciona un literal del sistema.

Ejemplo:

<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
    pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>Action Guru JSP8</title>
</head>
<body>
<jsp:output doctype-root-element="html PUBLIC" doctype-system="http://www.w3.org/TR/html4/loose.dtd"/>
</body>
</html>

Explicación del código:

Línea de código 10: Aquí estamos usando un objeto de acción de salida para generar un DOCTYPE, e internamente se generará en este formato:

No habrá ningún resultado para esto ya que se generará internamente.