JSP. 18 Ejemplo JavaBeans


Página footer.jsp
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    
<head>
        
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        
<title>JSP Curso</title>
    
</head>
    
<body>
        
<b>Publicidad</b>
        
<br />
        Empresa tal, se dedica a ...
    
</body>
</html>


Página etiquetas_acciones.jsp:
<%@page import="java.util.Enumeration"%>
<%@page import="com.me.jsp.clases.Coche.MiColor"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    
<head>
        
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        
<title>JSP Curso</title>
    
</head>
    
<body>
        
<h1>Acciones</h1>
        
<form action="index.jsp" method="POST">
            
<input type="submit" value="Volver a Menu" />
        
</form><br />

        jsp:forward= Ir hacia otra página.
<br />
        jsp:param= Enviar datos, variables.
<br />
        
<a href="acciones.jsp?ir=true">Ir a acciones recibidas</a><br />
        <%
            String myIr = (String) request.getParameter(
"ir");
            
if (myIr != null && myIr.equals("true")) {
        %>
                
<jsp:forward page="etiquetas_acciones_recibe.jsp">
                    
<jsp:param name="campo1" value="hola acción"/>
                
</jsp:forward>
        <%         
            }
        %>
        
<br /><br />
        jsp:useBean= crear objeto.
<br />
        
<jsp:useBean id="myCoche" class="com.me.jsp.clases.Coche" scope="session">
            
<jsp:setProperty name="myCoche" property="modelo" value="Mondeo 1.6"/>
            
<jsp:setProperty name="myCoche" property="marca" value="Ford"/>
            
<jsp:setProperty name="myCoche" property="color" value="<%=MiColor.AZUL%>"/>
        
</jsp:useBean>

        
<br /><br />
        Incluir una página
<br />
        
<jsp:include page="footer.jsp" flush="true"/>
      
    
</body>
</html>

Se crea un objeto, se guarda en una variable de sesión y se va a la página etiquetas_acciones_recibe.jsp pasandole un parámetro campo1=hola acción.
 
Página etiquetas_acciones_recibe.jsp:
<%@page import="com.me.jsp.clases.Coche.MiColor"%>
<%@page import="com.me.jsp.clases.Coche"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    
<head>
        
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        
<title>JSP Curso</title>
    
</head>
    
<body>
        
<h1>Acciones Recibidas</h1>
        
<form action="index.jsp" method="POST">
            
<input type="submit" value="Volver a Menu" />
        
</form><br />
        campo1=<%= request.getParameter("campo1") %><br />
        Coche:
        <%
            Coche miCoche = (Coche) session.getAttribute(
"myCoche");
            
if (miCoche != null) {
                
MiColor color = miCoche.getColor();
                out.print(
"<br />Modelo: " + miCoche.getModelo());
                out.print(
"<br />Marca: " + miCoche.getMarca());
                
if (color != null) {
                    out.print(
"<br />Color: " + color.toString());
                }
            }
        %>

    
</body>
</html>

Se muestra el valor del parámetro campo1 y las propiedades del bean myCoche.
 

Si se quisiera pasar el bean utilizando request y no haciendo uso de session.
Página etiquetas_acciones2.jsp
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@page import="com.me.jsp.clases.Coche.MiColor"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    
<head>
        
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        
<title>JSP Curso</title>
    
</head>
    
<body>
        
<h1>Acciones 2</h1>
        
<form action="index.jsp" method="POST">
            
<input type="submit" value="Volver a Menu" />
        
</form><br />

        jsp:forward= Ir hacia otra página.
<br />
        jsp:param= Enviar datos, variables.
<br />
        
<a href="etiquetas_acciones2.jsp?ir=true">
            Ir a acciones recibidas
        
</a><br />

        jsp:useBean= crear objeto.
<br />
        
<jsp:useBean id="coche2" scope="request" class="com.me.jsp.clases.Coche">
            
<jsp:setProperty name="coche2" property="modelo" value="Ibiza 1.9" />
            
<jsp:setProperty name="coche2" property="marca" value="Seat" />
            
<jsp:setProperty name="coche2" property="color" value="<%=MiColor.BLANCO%>" />
        
</jsp:useBean>
      
        
<c:set var="campo2" value="Hola acción 2" scope="request" />
      
        <%
            String myIr = (String) request.getParameter(
"ir");
            
if (myIr != null && myIr.equals("true")) {
                request.getRequestDispatcher(
"etiquetas_acciones_recibe2.jsp").forward(request, response);
            }
        %>

        
<br /><br />
        Incluir una página
<br />
        
<jsp:include page="footer.jsp" flush="true"/>

    
</body>
</html>
 
Mediante request.getRequestDispatcher accedemos a un determinado recurso y con forward enviamos la petición con los objetos request y response. En request introduciremos todos los parámetros necesarios, en este caso mediante set se ha añadido campo2=Hola acción 2

Página etiquetas_acciones_recibe2.jsp
<%@page import="com.me.jsp.clases.Coche.MiColor"%>
<%@page import="com.me.jsp.clases.Coche"%>
<%@page contentType="text/html" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    
<head>
        
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        
<title>JSP Curso</title>
    
</head>
    
<body>
        
<h1>Acciones Recibidas 2</h1>
        
<form action="index.jsp" method="POST">
            
<input type="submit" value="Volver a Menu" />
        
</form><br />

        campo2=<%= request.getAttribute(
"campo2") %><br />
        === Coche ===
        <%
            Coche miCoche = (Coche) request.getAttribute(
"coche2");
            
if (miCoche != null) {
                
MiColor color = miCoche.getColor();
                out.print(
"<br />Modelo: " + miCoche.getModelo());
                out.print(
"<br />Marca: " + miCoche.getMarca());
                
if (color != null) {
                    out.print(
"<br />Color: " + color.toString());
                }
            }
        %>

    
</body>
</html>

Mostramos los datos recibidos.

Comentarios

Entradas populares de este blog

Java. Texto de colores en la consola

javax.swing.JPasswordField

javax.swing.JList