【发布时间】:2013-07-12 09:38:27
【问题描述】:
我在尝试将 HTML 返回到我的 Spring MVC 控制器时遇到问题。
看起来像这样:
@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>";
}
我的 Spring 配置:
<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>
我看到萤火虫响应即将到来:{"String":"<div></div>"} 我如何告诉这个方法向我发送纯 HTML 作为响应?
【问题讨论】:
-
这不是一个特别好的主意。
-
能否请您更具体地说明为什么不是?
-
你觉得什么更容易 - 编辑嵌入在 java 中的 html,或者只是编辑一个普通的 html/jsp 文件?
-
我需要这样做是有原因的。我有一个自定义的 JSP 标签,它已经为我生成了 HTML,我正在重用相同的处理程序在 ajax requet 上生成它。如果我不这样做,我需要返回代表我的对象树的 JSON,我需要从中生成适当的 HTML。所以这对我来说更容易,因为我可以重用现有的 Java 代码来执行此操作,而不是编写 Java 脚本来生成相同的 HTML。
-
那你有什么建议?
标签: java spring spring-mvc controller