Hola,
No estoy seguro si JBoss tendrá algún método adicional para realizar ese procedimiento, pero lo que yo haría sería cambiar el encabezado. Es decir, cuando el cliente (browser) solicita una página el servidor responde con una respuesta, valga la redundancia, según el protocolo HTTP.
La respuesta normalmente lleva este encabezado,
Código:
HTTP/1.0 200 OK
Date: Fri, 31 Dec 1999 23:59:59 GMT
Content-Type: text/html
Content-Length: 1354
... data y mas data ...
El navegador sabe que debe renderizar la página porque el encabezado 'text/html' así se lo indica, si le pusieras de encabezado 'audio/wave' el navegador 'pensaría' que es un archivo de audio e intentaría abrir el reproductor de audio.
Adicionalmente existe otro encabezado que explícitamente indica que es una descarga,
Código:
Content-disposition: attachment; filename=fname.ext
Así que si le cambias el encabezado a 'text/plain' y le agregas el encabezado 'content-disposition' es muy probable que el navegador abra una ventana para que puedas guardar el documento en lugar de visualizarlo. Adicionalmente tendrías que enviar algún tipo de parámetro para saber si debes usar text/html o text/plain para 'ver' la página o 'descargar' la página.
Ahora ... cómo cambiar ese encabezado dependerá de muchos factores y tendrás que investigar para adecuarlo a lo que necesitas.
Saludos,