2013-07-12 24 views
11

Spring MVCコントローラにHTMLを返そうとするときに問題が発生しています。Spring MVCコントローラreturn HTML

それは次のようになります。

@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>"; 
} 

私の春の設定:{"String":"<div></div>"}どのように私は私のようにプレーンなHTMLを送信するには、この方法を伝えることができます:

<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> 

私は、応答は次のように来ていることを放火犯を見ていますレスポンスは?

+0

これは特に良い考えではありません。 – NimChimpsky

+1

もっと具体的な理由を教えてください。 – user2219247

+0

Javaの中に埋め込まれたHTMLを編集したり、通常のhtml/jspファイルを編集したりするのは簡単ですか? – NimChimpsky

答えて

19

html=text/htmlのようにSpringの設定を変更し、アノテーションにproduces = MediaType.TEXT_HTML_VALUEを追加してください。

+0

これは私のために働く。ありがとう。 – user2219247

+3

古いバージョンのSpringを使用する必要がある場合は、この 'response.setContentType(" text/html ");を実行できます。 response.getWriter()。println(...) '@ResponseBody'アノテーションを削除します。 –

+0

が追加され、@RequestMappingアノテーションにMediaType.TEXT_HTML_VALUEが生成され、機能しました。それは春の設定で提供することは必須ですか?はいの場合はどこに提供する必要がありますか? – arvindwill

関連する問題