Cuando tienes un formulario de búsqueda o una actualización y necesitas hacer los ver los cambios… y además que la JSP muestre los resultados ya actualizados… pues hay dos problemas… que para mostrar la consulta de resultados pues seguramente esta en un Action y otra que la modificación este en otro… pero aunque este en el mismo no podrías recibir los mismo parámetros del formulario…

Entonces se podría hacer esto:

Supongamos que este Action es el que muestra los alumnos de un filtro de una búsqueda:

JSP de búsqueda:

1
2
3
4
5
6
7
8
9
10
11
12
13
<s:form action="buscaAlumnos" method="post">
            <s:textfield name="name" 
                cssClass="textInput" 
                maxlength="50" size="20"
                label="Name"
                required="false" />
 
            <s:textfield name="lastname" 
                cssClass="textInput" 
                maxlength="150" size="30"
                label="Lastname"
                required="false" />
</s:form>

Action que procesa la búsqueda y que se le envían los parámetros anteriores:

1
2
3
4
<action name="buscaAlumnos" class="com.buscar" method="buscar">
     <result type="chain">listaAlumnos</result>
     <result name="error"> errorBuscar</result>
</action>

En el JSP que muestra los resultados, colocamos un link para poder borrar a un usuario:

1
2
3
4
5
<s:url id="Url" action="Nombre_del_mapeo" escapeAmp="false">
  	 <s:param name="name" value="name" />
       <s:param name="lastname" value="lastname" />
</s:url>
<a href="<s:property value="%{Url}"/>"><s:text name="Borrar alumno"/></a>

Y este otro Action tiene que borrar al alumno y regresar con los datos de posibles filtros de la búsqueda realizada, ósea con el NAME Y LASTNAME del JSP donde esta el formulario:

1
2
3
4
5
6
7
8
9
  <action name=" Nombre_del_mapeo" class="com.delete"  method="input">
     <result name="success" type="redirect-action">
	   <param name="actionName">./buscaAlumnos.action</param>
	   <param name="parse">true</param>
           <param name="name">${name}</param>
           <param name="lastname">${lastname}</param>
     </result>
<result name="error" type="tiles">errorDelete</result>
</action>

Tenemos que tener su get y set de los atributos:

Action Delete.java:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
private String name;
private String lastname;
 
public String getName()
    {
        return name;
    }
 
    /**
     * @param name the name to set
     */
    public void setName(String name)
    {
        this.name = name;
    }
 
    /**
     * @return the lastname
     */
    public String getLastname()
    {
        return lastname;
    }
 
    /**
     * @param lastname the lastname to set
     */
    public void setLastname(String lastname)
    {
        this.lastname = lastname;
    }

Y después de realizar el proceso de borrado. Este reenviará al Action buscaAlumnos los parámetros por medio de la URL y así poder repetir la búsqueda y…

1
http://...../buscaAlumnos.action?name=Valor&lasname=Valor

entonces el JSP que muestra la búsqueda volverá actualizarse sin mostrar al Alumno borrado. Y listo!!!!



2 Comentarios en “Una forma de direccionar parámetros por medio de la URL en Struts 2… <rediect-action><param>…”

  1. arturo | 20/04/2009 a las 17:13:33

    Es lo mismo cuando queremos accesar a un action del tipo:

    Nombre!metodo.action ???

    gracias!!

  2. sergio | 21/04/2009 a las 06:39:32

    Si claro… es lo mismo o aquì tienes otro ejemplo:
    que estaría asì

    <action name="nameAction" class="com.class.name" method="input">
     <result type="redirect-action">../NOMBREACTION?param1=${valor}</result>
    </action>

Dejar un comentario

http://www.wikio.es BlogESfera - Directorio de Blogs Hispanos blogarama - the blog directory Mi Ping en TotalPing.com
Internet blogs Programming Blogs - Blog Catalog Blog Directory Internet blogs Buzzear (ES) Publicidad por tu blog con Boosterblog directorio de blogs
Agregar Web - Directorio de webs Directorio webs Directorio Web
Anuncios Gratis Blog Directory Technology Blogs - Blog Rankings