Est-ce que spring mvc a response.write de sortir directement dans le navigateur?
Je suis à l'aide de spring mvc avec freetemplate.
Dans asp.net, vous pouvez écrire directement du navigateur à l'aide de la Réponse.Write("hello, world");
Pouvez-vous faire cela dans spring mvc?
source d'informationauteur Blankman
Vous devez vous connecter pour publier un commentaire.
Vous pouvez soit:
obtenir le
HttpServletResponse
et d'impression à sesWriter
ouOutputStream
(en fonction de si vous voulez envoyer du texte ou des données binaires)Utilisation
@ResponseBody
:Donc votre
Hello World
texte sera écrit dans le flux de réponse.Si vous utilisez un annotée contrôleur (ou non annotée, d'ailleurs je crois...), vous pouvez utiliser l'argument de méthode
HttpServletResponse
dans votre contrôleur pour obtenir le flux de sortie, puis d'écrire à l'écran - voir http://download.oracle.com/docs/cd/E17410_01/javaee/6/api/javax/servlet/ServletResponse.html#getOutputStream%28%29Pour plus d'informations sur les paramètres que vous pouvez utiliser dans vos controllers/gestionnaires, voir
http://static.springsource.org/spring/docs/2.5.x/reference/mvc.html (section 13.11.4)
Je suis sûr que c'est possible dans certains contextes. Par exemple, si vous avez la
HttpServletResponse
objet disponible pour vous (comme vous le faites dans uneController
ou si vous écrivez votre propreView
), alors vous pouvez appelergetWriter()
ougetOutputStream()
et écrire.Mais vous devez être prudent et assurez-vous que ce que vous faites ne pas interférer avec votre utilisation de FreeMarker modèles. Et je ne suis pas sûr si vous pouviez gérer à partir d'un template FreeMarker.
Si vous voulez envoyer quelque chose à OutputStream, même si vous utilisez Freemaker, il suffit d'utiliser @ResponseBody
exemple: