Una forma de direccionar parámetros por medio de la URL en Struts 2… <rediect-action><param>…
Google, Programación, Struts2 18 de March del 2009
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!!!!

Sobre mí









Es lo mismo cuando queremos accesar a un action del tipo:
Nombre!metodo.action ???
gracias!!
Si claro… es lo mismo o aquì tienes otro ejemplo:
que estaría asì
Hola soy nuevo en esto,
¿Como muestro los resultados de la busqueda si fuera un conjunto de resultados?
Osea como muestro una tabla filtrada?
Nombre ApellidoP
Juan Martinez
Carlos Martinez
Maria Martinez
hasta ahora solo eh encontrado como mostrar un resultado unico.
Saludos