Vous êtes sur la page 1sur 9

Java Beans

1
DeIinir los beans
Los beans son clases 1ava que:
Tienen un constructor sin argumentos (si son creados por
un servlet esta condicion no se requiere).
2
No tienen variables de instancia publicas
Los valores persistentes se accesan mediante mtodos
llamados set y get (o is si la propiedad es boolean)
EJEMPLO
package coreservlets;
import java.util.*;
/* Bean to represent a bank customer. */
public class BankCustomer
private String id, IirstName, lastName;
3
private String id, IirstName, lastName;
private double balance;
Ejemplo beans-2
public void setId(String id) this.idid;}
public void setFirstName(String) FirstName this.IirstNameIirstName;}
public void setLastName(String LastName) this.lastNamelastName;}
public void setBalance(double balance) this.balance balance;}
4
public void setBalance(double balance) this.balance balance;}
public String getId() return(id);}
public String getFirstName() return(IirstName);}
public String getLastName() return(lastName);}
public double getBalance() return(balance);}
}
Creando Beans desde JSP
Instanciando un nuevo Bean encontrando uno ya existente:
jsp:useBean id'cliente1 class'coreservlets.BankCustomer
scope'request /~
5
scope'request /~
Encontrando uno ya existente:
jsp:useBean id'cliente1 type'coreservlets.BankCustomer'
scope'request /~
SCOPE
page El bean se almacena en el objeto pageContext esta disponible
solamente dentro de la pagina que lo creo. Es el valor por
deIault.
request El bean se almacena en el objeto HttpServletRequest esta
disponible para todos los Servlets y JSP que tengan acceso al
6
disponible para todos los Servlets y JSP que tengan acceso al
objeto request. Desaparece al terminar de precesar cada request.
session El bean se almacena en el objeto HttpSession esta disponible
para todos los Servlets y JSP que tengan acceso al objeto session.
Su tiempo de vida se extiende a toda la sesion entre el cliente y
el servidor.
application El bean se almacena en el objeto ServletContext esta disponible
para todos los Servlets y JSP y permanece mientras el servidor
est activo.
Creando beans en un servlet
HttpServletRequest (Corresponde al scope request)
request.setAttribute('key, mybean);
DataBean mybean new DataBean(.),
7
HttpSession (Corresponde al scope session)
HTTPSession session request.getSession();
session.setAttribute('key, mybean);
ServletContext (Corresponde al scope application )
getServletContext.setAttribute('key, mybean);
Escribiendo en los Beans desde un JSP
Asignando explicitamente un valor a una propiedad del bean:
jsp:setProperty name'cliente1" property'balance' value'100.0 /~
Asignando un valor a una propiedad incluida en el query String:
jsp:setProperty name'cliente1" property'balance' /~
8
jsp:setProperty name'cliente1" property'balance' /~
Asignando un valor a una propiedad incluida en el query String (con otro nombre):
jsp:setProperty name'cliente1" property'balance' param'saldo /~
Asignando un valor a todas las propiedades incluidas en el query String:
jsp:setProperty name'cliente1" property'*' /~
Extraer desde el JSP los datos de los
beans
Lectura de los datos:
9
jsp:getProperty name " cliente1 " property " balance" /~
Extraer desde el JSP los datos de los
beans-2
Usando el Expresion Language de JSP 2.0 se pueden accesar
las propiedades de los beans simplement:
$cliente1.balance}
10
La bsqueda se hace en el siguiente orden:
PageContext
HTTPServletRequest
HTTPSession
ServletContext (Corresponde al scope application )
Extraer desde el JSP los datos de
los beans-2 (cont.)
Usando el Expresion Language de JSP 2.0 se puede
especiIicar el scope:
$pageScope.cliente1.balance}
11
$pageScope.cliente1.balance}
$requestScope.cliente1.balance}
$sessionScope.cliente1.balance}
$applicationScope.cliente1.balance}
Ejemplo de uso de arreglos
package com;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
SERVLET
12
public class ControllerServlet extends HttpServlet
public void doGet(HttpServletRequest request, HttpServletResponse response)
throws ServletException, IOException

String|| colors "Red", "Green", "Blue"};


ServletContext application this.getServletContext();
application.setAttribute("colors", colors);
application.getRequestDispatcher("/view.jsp").Iorward(request, response);
}
}
html~
head~title~Simple MVC/title~ /head~body~
h2~Simple MVC/h2~
p~The Iirst color is $colors|0|}br~
Ejemplo de uso de arreglos (cont.)
1SP
13
p~The Iirst color is $colors|0|}br~
The second color is $colors|1|}
/p~

String || colors(String ||)application.getAttribute("colors");
int lengthcolors.length;
~
p~Total colors are length~br~
/body~/html~
Ejemplo de uso de arreglos (cont.)
Salida del 1SP
14
Ejemplo de uso de Listas
SERVLET
package com;
import java.io.*;
import javax.servlet.*;
import javax.servlet.http.*;
import business.*;
15
import business.*;
import java.util.*;
public class ControllerServlet extends HttpServlet

public void doGet(HttpServletRequest request, HttpServletResponse response)


throws ServletException, IOException

ArrayListUser~ users new ArrayListUser~();


User user1 new User( "Raul", "Perez", "raul.perezitesm.mx");
User user2 new User( "Laura", "Ortiz", "lortizitesm.mx");
User user3 new User( "Mario", "Solis", "solismitesm.mx");
SERVLET
Ejemplo de uso de Listas (cont.)
16
users.add(user1);
users.add(user2);
users.add(user3);
ServletContext application this.getServletContext();
application.setAttribute("users", users);
application.getRequestDispatcher("/view.jsp").Iorward(request, response);
}
}
Ejemplo de uso de Listas (cont.)
1SP
<html><head> <title>Simple MVC</title></head><body>
<h2>Simple MVC</h2>
<%@ page import="java.util.*, business.*" %>
<p>The first person is ${users[0].firstName} ${users[0].lastName}</p>
17
<p>The first person is ${users[0].firstName} ${users[0].lastName}</p>
<p>The first e-mail is ${users[0].emailAddress}</p>
<p>The second person is ${users[1].firstName} ${users[1].lastName}</p>
<p>The second e-mail is ${users[1].emailAddress}</p>
<% ArrayList<User> users =(ArrayList<User>)application.getAttribute("users");%>
<p>El total de personas es de <%=users.size()%></p>
</body></html>
Ejemplo de uso de Listas (cont.)
Salida del 1SP
18

Vous aimerez peut-être aussi