He encontrado algún código que está accediendo a un valor que está almacenado en la pila de valores de struts simplemente llamando a getAttribute() en el objeto HttpServletRequest. No pensé que esto fuera posible y ¿dónde está documentado?¿Cómo acceder a la pila de valores de Struts desde el objeto HttpServletRequest?
Código de la clase de la acción (que no lo agrega a clase sólo a la pila de valor):
private PaginatedChunk searchResults;
public PaginatedChunk getSearchResults() {
return searchResults;
}
public void setSearchResults(PaginatedChunk searchResults) {
this.searchResults = searchResults;
}
Este es el código en una etiqueta personalizada que extrae el valor de la solicitud (y funciona !?):
HttpServletRequest request = (HttpServletRequest) pageContext.getRequest();
PaginatedChunk searchResults = (PaginatedChunk) request.getAttribute("searchResults");
¿Alguien me puede explicar cómo funciona esto? Pensé que el valor Stack no era accesible directamente a través de la solicitud.
Estamos funcionando struts2 v2.1.8.1
Oh, como seguimiento, esto puede ser útil y disipar algunos struts2 magic: http://struts.apache.org/2.0.14/docs/what-is- the-actioncontext.html – Quaternion