Comment puis-je renvoyer JSON à partir du contrôleur de ressort en tant que vue ou ModelAndView
? L'annotation @ResponseBody
ne m'intéresse pas. Y a-t-il un autre moyen de le faire?spring: renvoie JSON du contrôleur en tant que ModelAndVIew
Répondre
Vous pouvez utiliser la classe org.codehaus.jackson.map.ObjectMapper
pour écrire des chaînes json dans le flux de sortie. Utilisez le code suivant dans la méthode de votre contrôleur:
ObjectMapper mapper = new ObjectMapper();
mapper.writeValue(outputStream, model);
outputStream.flush();
Si votre version de Spring est suffisamment élevée, l'objet MappingJacksonJsonView utilise ObjectMapper de Jackson pour sérialiser le modèle. Référence http://static.springsource.org/spring/docs/3.0.x/javadoc-api/org/springframework/web/servlet/view/json/MappingJacksonJsonView.html –
Oui, vous pouvez retourner un MappingJacksonJsonView
ou l'affecter à un objet en utilisant ModelAndView
mav.setView(new MappingJacksonJsonView())
.
Mise à jour: Au printemps 4 MappingJacksonJsonView est deprecated. Vous pouvez mettre à niveau vers MappingJackson2JsonView
Pour plus d'informations, vous pouvez définir le nom de la vue MOdelAndView sur une instance de MappingJacksonJsonView pour renvoyer un objet JSON à la place de ModelAndView. Un exemple ressemblerait à: 'ModelAndView mav = new ModelAndView (nouveau MappingJacksonJsonView()); mav.addObject ("key1", "value1"); mav.addObject ("key2", "value2"); ' Renvoyer' mav' produirait alors un objet JSON de la forme: '{" key1 ":" value1 "," key2 ":" value2 "} ' – JCoster22
Mise à jour: J'ai utilisé [MappingJackson2JsonView] (http://docs.spring.io/spring/docs/3.1.x/javadoc-api/org/springframework/web/servlet/view/json/MappingJackson2JsonView.html) pour le au dessus. – JCoster22
- 1. Spring 3.1, réponse JSON ModelAndView
- 2. SPRING MVC: Comment rendre ModelAndView en chaîne
- 3. Symfony2 affiche n'importe quel contrôleur HTML en tant que JSON
- 4. Etude sur la structure Spring: Haricots gérés en tant que contrôleur et servlet Dispatcher en tant que contrôleur
- 5. MVC renvoie une vue partielle en tant que JSON
- 6. Json en tant que paramètre au contrôleur Grails
- 7. Spring messageSource fonctionne uniquement en tant que xml (pas en tant que Spring-Java-Config)
- 8. Objet JSON renvoyé en tant que fichier à télécharger (Spring MVC)
- 9. Les instructions Spring MVC, Return ModelAndView sont ignorées dans le contrôleur.
- 10. Spring-JDBC en tant que bibliothèque autonome
- 11. Retour contrôleur même vue en utilisant ModelAndView de Spring Web MVC
- 12. Renvoyer le contenu du fichier téléchargé en tant que JSON
- 13. Renvoie la valeur du tableau en tant que NSString
- 14. mysql_result renvoie le nom du produit en tant que résultat
- 15. Spring 2.5 et Json (Spring Json View)
- 16. Problème Spring-json dans Liferay avec Spring 2.5
- 17. Spring mvc configuration JSON
- 18. Spring MVC 3: ouvrir ModelAndView dans un nouvel onglet
- 19. Retour d'un fichier .json statique dans Spring MVC en tant que ressource
- 20. dossier Comprendre « image » en tant que contrôleur
- 21. chargement du contenu html en tant que json
- 22. Rails Données du groupe et rendu en tant que json
- 23. Rendu des vues en tant que chaîne avec les tuiles Spring MVC et Apache
- 24. Affichage de l'image renvoyée en tant que tableau d'octets du contrôleur MVC via l'appel Ajax
- 25. En utilisant jQuery pour écrire objet JSON Spring 3 contrôleur
- 26. Render ModelAndView manuellement?
- 27. ModelAndView ne renvoie aucune donnée à jsp vues
- 28. Node.js en tant que redirecteur JSON
- 29. Objet MongoDB Sérialisé en tant que JSON
- 30. La requête window.location.search en tant que JSON
Spring a 'ContentNegotiatingViewResolver', qui peut renvoyer dynamiquement une vue" droite "basée sur le suffixe ou l'en-tête' Accept'. [link] (http://docs.spring.io/spring/docs/current/spring-framework-reference/html/mvc.html#mvc-multiple-representations). Vous fournissez à la fois le modèle et la vue dans 'ModelAndView', laissez Spring faire la résolution de la vue. – Hong