Això és tot el que hem de fer per poder enviar el fitxer a l'usuari, el framework s'encarregarà de fer la resta.
 
Això és tot el que hem de fer per poder enviar el fitxer a l'usuari, el framework s'encarregarà de fer la resta.
   −
El pas final en aquest Action és modificar el fitxer ''struts.xml'' per indicar-li a Struts 2 que ha de tractar aquesta classe com un Action:
+
El pas final en aquest Action és modificar el fitxer ''struts.xml'' per indicar-li a Struts 2 que ha de tractar aquesta classe com un Action.
[[TODO]]
+
@Namespace(value = "/descarregues")
+
@Action(value = "mostraArxiu")
+
   −
 
+
El següent és indicar el resultat de l'execució d'aquest Action, la resposta que serà enviada al client. En aquesta ocasió, com estem fent servir un tipus diferent de ''result'', hem d'indicar-ho amb l'atribut "type". En aquest cas hem d'indicar que el ''result'' és de tipus "stream" o flux de bytes.
El següent és indicar el resultat de l'execució d'aquest Action, la resposta que serà enviada al client. En aquesta ocasió, com estem fent servir un tipus diferent de ''result'', hem d'indicar-ho amb l'atribut "type". En aquest cas hem d'indicar que el ''result'' és de tipus "stream" o flux de bytes, de la següent manera:
+
[[TODO]]
+
@Namespace(value = "/descarregues")
+
@Action(value = "mostraArxiu", results =
+
{
+
    @Result(type = "stream")
+
})
+
    
L'últim pas és establir algun dels paràmetres en el ''result'', per això fem servir l'atribut "params". Aquest atribut rep com a argument un arranjament de cadenes, on els elements senars representen el nom de l'argument que es vol establir, i els parells representen el valor d'aquest argument. En aquest exemple només faré servir l'atribut "contentType" per indicar que el tipus d'arxiu que tornaré a l'usuari és un arxiu pdf ("application/pdf"). Per a qualsevol altre tipus una recerca ràpida a Google donarà el tipus de contingut de l'arxiu.
 
L'últim pas és establir algun dels paràmetres en el ''result'', per això fem servir l'atribut "params". Aquest atribut rep com a argument un arranjament de cadenes, on els elements senars representen el nom de l'argument que es vol establir, i els parells representen el valor d'aquest argument. En aquest exemple només faré servir l'atribut "contentType" per indicar que el tipus d'arxiu que tornaré a l'usuari és un arxiu pdf ("application/pdf"). Per a qualsevol altre tipus una recerca ràpida a Google donarà el tipus de contingut de l'arxiu.
Exception encountered, of type "Error"