El documento describe tres ejemplos de uso de acciones en JSP. El primer ejemplo utiliza jsp:forward para redirigir a otra página y pasar un parámetro. El segundo ejemplo utiliza jsp:include para incluir la misma página varias veces con diferentes parámetros. El tercer ejemplo utiliza jsp:useBean, jsp:setProperty y jsp:getProperty para manipular un objeto bean creado en la página.
6. Persona.java
package pckBeans;
public class Persona {
private String nombre;
public String getNombre() {
return nombre;
}
public void setNombre(String nombre) {
this.nombre = nombre;
}
}
jsp_acciones03.jsp
<?xml version="1.0" encoding="ISO-8859-1" ?>
<%@ page language="java" contentType="text/html; charset=ISO-8859-1"
pageEncoding="ISO-8859-1"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<jsp:useBean class="pckBeans.Persona" id="persona" scope="page"/>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1" />
<title>Acciones en JSP</title>
</head>
<body>
<jsp:setProperty name="persona" property="nombre" value="Maria"/>
<%="El nombre de la persona es : "%>
<h1><jsp:getProperty name="persona" property="nombre"/></h1>
</body>
</html>
Resultado…
7. En el ejemplo anterior hemos usado <jsp:useBean>, <jsp:getProperty> y
<jsp:setProperty>
La acción useBean simplemente nos permite usar un Bean (una clase de Java) en
una página JSP. Mientras que las acciones setProperty y getProperty nos
permiten establecer un valor en una propiedad del bean y obtener un valor de
una propiedad del bean, respectivamente.
Creamos una clase llamada “Persona” en el paquete “pckBeans”. Crearemos una
propiedad “nombre” con sus respectivos métodos get y set, para que el ejemplo
funcione, debemos seguir ciertas reglas de los JavaBeans.
El método para obtener un valor de un campo de nuestra clase debe ser
getNombreDeLaPropiedad, para nuestro caso sería getNombre() nos devuelve el
valor que tiene la propiedad nombre de nuestro bean. Mientras que para
establecer valores debe ser setNombreDeLaPropiedad( tipoDeDato valor), para
nuestra propiedad nombre sería setNombre(String valor).
En la línea,
<jsp:useBean class="pckBeans.Persona" id="persona" scope="page"/>
El atributo scope, literalmente significa “alcance”. En JSP, existen
diferentes tipos de alcance para los beans, los cuales son page, request,
sesión y application.
Los beans que tienen el alcance de tipo “page”, solo pueden ser accedidos
desde la misma página donde se está haciendo uso de él. En este caso, el bean
“persona” solo está disponible para “jsp_acciones03.jsp”, pero no para otras
JSP que definamos en nuestro proyecto.
Por tanto creamos un objeto de la clase Persona, cuyo identificador en
nuestra página jsp será “persona”.
<jsp:setProperty name="persona" property="nombre" value="Maria"/>
Pone el valor “Maria” en la propiedad “nombre” del objeto “persona”.
Y finalmente, la línea…
<jsp:getProperty name="persona" property="nombre"/>
obtiene el valor de la propiedad “nombre” del objeto persona.