Spring MVC contrôleur de retour HTML
Je rencontre un problème en essayant lorsque vous essayez de renvoyer le code HTML de mon contrôleur Spring MVC.
Il ressemble à ceci:
@RequestMapping(value = QUESTION_GROUP_CREATE_URL, method = RequestMethod.POST)
public
@ResponseBody
String createQuestionGroup(@RequestBody JsonQuestionGroup questionGroup, HttpServletResponse response) {
//questionGroup - this comes OK.
response.setContentType("text/html");
response.setCharacterEncoding("UTF-8");
return "<div></div>";
}
Mon Printemps config:
<bean id="contentNegotiationManager" class="org.springframework.web.accept.ContentNegotiationManagerFactoryBean">
<property name="favorPathExtension" value="false"/>
<property name="favorParameter" value="true"/>
<property name="mediaTypes">
<value>
json=application/json
xml=application/xml
html=application/html
</value>
</property>
</bean>
Je vois firebug que la réponse est à venir comme: {"String":"<div></div>"}
comment puis-je dire que cette méthode m'envoyer plaine HTML comme réponse?
ce n'est pas une très bonne idée.
Pourriez-vous être plus précis, pourquoi il ne l'est pas?
que trouvez-vous plus facile d'édition de html intégré dans java, ou tout simplement l'édition normale html/fichier jsp?
Il y a une raison j'ai besoin de le faire. J'ai une coutume balises JSP qui génère déjà HTML pour moi, je suis en réutilisant les mêmes gestionnaires de la générer à ajax requet. Si je ne vais pas le faire, j'aurais besoin de retour JSON représentant mon arbre des Objets à partir de laquelle j'ai besoin de générer du code HTML. Cela fait donc plus facile pour moi parce que je peux réutiliser mon code java pour le faire à la place de l'écriture de script java pour produire le même HTML.
c'est toujours une mauvaise idée
Pourriez-vous être plus précis, pourquoi il ne l'est pas?
que trouvez-vous plus facile d'édition de html intégré dans java, ou tout simplement l'édition normale html/fichier jsp?
Il y a une raison j'ai besoin de le faire. J'ai une coutume balises JSP qui génère déjà HTML pour moi, je suis en réutilisant les mêmes gestionnaires de la générer à ajax requet. Si je ne vais pas le faire, j'aurais besoin de retour JSON représentant mon arbre des Objets à partir de laquelle j'ai besoin de générer du code HTML. Cela fait donc plus facile pour moi parce que je peux réutiliser mon code java pour le faire à la place de l'écriture de script java pour produire le même HTML.
c'est toujours une mauvaise idée
OriginalL'auteur user2219247 | 2013-07-12
Vous devez vous connecter pour publier un commentaire.
Changer votre Printemps config comme ceci:
html=text/html
et ajouterproduces = MediaType.TEXT_HTML_VALUE
à vos@RequestMapping
annotation.si vous devez utiliser une version plus ancienne de printemps, vous pouvez le faire
response.setContentType("text/html"); response.getWriter().println(...)
Baisse de la@ResponseBody
annotation.ajoutée produit = MediaType.TEXT_HTML_VALUE à @RequestMapping annotation et cela a fonctionné. Est-il obligatoire de fournir au Printemps config? si oui, où il doit être offert ?
OriginalL'auteur Paulius Matulionis