Action Tags

Los Action Tags son etiquetas con formato XML que se incluyen dentro de las páginas JSP y que se pueden utilizar dentro de dichas páginas JSP para llevar a cabo distintas acciones en tiempo de ejecución. Su propósito es tratar de reducir la cantidad de código Java necesario dentro de una página JSP, así como permitir que sea posible crear páginas JSP compuestas (idealmente) de un modo completo por etiquetas.
Los principales action tags son:
  • jsp:useBean
  • jsp:getProperty
  • jsp:setProperty
  • jsp:include
  • jsp:forward
  • jsp:param
<jsp:useBean id="nomBean" scope="scope" class = "clase" />
<jsp:useBean id="nomBean" scope="scope" class = "clase" >
<% código para inicialización  %>
</jsp:useBean>
 
Ejemplo:

//Utilizo un bean llamado test con las propiedades de class
<jsp:useBean id="test" class="hall.SimpleBean" /> 
//Pongo propiedades a test
<jsp:setProperty name="test" property="message" value="Hello WWW" />
   <H1>Message: <I>
<jsp:getProperty name="test" property="message" />//Regojo propiedades
 
Los tipos de Scope de la etiqueta useBean son:
  • page: La instancia se mantiene solamente para la página
  • request: La instancia se utiliza en la petición
  • sesión: La instancia se mantiene dentro del objeto session y puede ser utilizan en otras páginas.
  • application: La instancia se mantiene dentro del objeto application y tiene el mismo valor para todos los usuarios.
Por ejemplo, un Bean que se recupera a partir de un request de session:
 
<jsp:useBean id="mibean" scope="session" class="MiBean" >
<% mibean.init(request.getSession()); %> 
</jsp:useBean>
 
Obtiene el valor de una propiedad de un Bean definido previamente con el tag
 
<jsp:useBean id="mibean" scope="page" class="MiBean" >
<jsp:getProperty name="mibean"  property="MiPropiedad" />
 
Establece el valor de una propiedad de un Bean definido previamente con
 
<jsp:setProperty property="NombrePropiedad" [param="NombreParametro"|value="ValorPropiedad"]>
 
<jsp:setProperty property="Apellidos"  param="txtapellidos" >
 
Si no escribimos el nombre del parámetro y el valor, se asume que el nombre del parámetro es el mismo que el nombre de la propiedad.
 
<input type="text" name="Apellidos">
<jsp:setProperty property="Apellidos">
 
Si se especifica property = "*" todas las propiedades del bean adquieren los valores correspondientes de los parámetros del request.
 
<input type="text" name="Apellidos">
<input type="text" name="Nombre">
 
Presuponemos que en el Bean hemos declarado dos propiedades, llamadas Apellidos y Nombre.
 
<jsp:setProperty property="*">
 
Incluyen recursos dinámicamente en el momento de ejecución de la página JSP.
 
<jsp:include page="url" /> 
Incluimos un recurso en nuestra página y enviamos información en forma de parámetro a dicho recurso.
<jsp:include page="url" >
<jsp:param name="nombre" value="valor" />
</jsp:include>
Pasa el control a otro recurso en forma incondicional.
<jsp:forward> 
redirecciona la página actual a otra página que hayamos escrito en su propiedad page.
<jsp:forward page="url" /> 
Podemos enviar información a la página que estamos redireccionando en forma de parámetro con la etiqueta
<jsp:param>
<jsp:forward page="url" />
<jsp:param name="nombre" value="valor" />
</jsp:forward>
Existen otras etiquetas action tag, pero no se suelen utilizar.
  • jsp:plugin genera información para Applets.
  • jsp:fallback genera texto alterno si no hay soporte Java en el browser (usado con jsp:plugin).
  • jsp:text transmite datos de patrones.
  • jsp:output modifica las propiedades del objeto output.
  • jsp:root

Ejemplo 1: <jsp:include> sin parameters

En este ejemplo usaremos <jsp:include> action tag sin parameters.
index.jsp
<html> 
<head>
<title>JSP Include example</title>
</head>
<body> 
<b>index.jsp Page</b><br>
<jsp:include page="Page2.jsp" /> 
</body> 
</html>
Page2.jsp
<b>Page2.jsp</b><br>
<i> This is the content of Page2.jsp page</i>
 

IncludeAction-output

Ejemplo 2: Uso de <jsp:include> con  <jsp:param>

index.jsp
<html> 
<head>
<title>JSP Include example with parameters</title>
</head>
<body> 
<h2>This is index.jsp Page</h2>
<jsp:include page="display.jsp"> 
<jsp:param name="userid" value="Chaitanya" /> 
<jsp:param name="password" value="Chaitanya" /> 
<jsp:param name="name" value="Chaitanya Pratap Singh" /> 
<jsp:param name="age" value="27" /> 
</jsp:include> 
</body> 
</html>
display.jsp
<html>
<head>
<title>Display Page</title>
</head>
<body>
<h2>Hello this is a display.jsp Page</h2>
UserID: <%=request.getParameter("userid") %><br>
Password is: <%=request.getParameter("password") %><br>
User Name: <%=request.getParameter("name") %><br>
Age: <%=request.getParameter("age") %>
</body>
</html>
 
include-action-with-parameters-output

No hay comentarios:

Publicar un comentario