2013-07-12 7 views
11

मुझे अपने स्प्रिंग एमवीसी नियंत्रक को 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>"; 
} 

मेरे स्प्रिंग 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> 

मैं फ़ायरबग कि प्रतिक्रिया की तरह आ रहा है देख रहा हूँ: {"String":"<div></div>"} कैसे मैं इस विधि बता मुझे के रूप में सादे HTML भेजने के लिए कर सकते हैं प्रतिक्रिया?

+0

यह विशेष रूप से अच्छा विचार नहीं है। – NimChimpsky

+1

क्या आप कृपया अधिक विशिष्ट हो सकते हैं क्यों नहीं है? – user2219247

+0

आपको क्या आसान लगता है - जावा के भीतर एम्बेडेड एचटीएमएल संपादित करना, या सिर्फ एक सामान्य एचटीएमएल/जेएसपी फ़ाइल संपादित करना? – NimChimpsky

उत्तर

19

अपनी स्प्रिंग कॉन्फ़िगरेशन को इस तरह बदलें: html=text/html और अपने @RequestMapping एनोटेशन में produces = MediaType.TEXT_HTML_VALUE जोड़ें।

+0

यह मेरे लिए काम करता है। धन्यवाद। – user2219247

+3

यदि आपको वसंत के पुराने संस्करण का उपयोग करना है तो आप यह 'प्रतिक्रिया.सेटकंटेंट टाइप ("टेक्स्ट/एचटीएमएल") कर सकते हैं; respond.getWriter()। println (...) '@ ResponseBody' एनोटेशन ड्रॉप करें। –

+0

ने @RequestMapping एनोटेशन के लिए = MediaType.TEXT_HTML_VALUE का उत्पादन किया और यह काम किया। स्प्रिंग कॉन्फ़िगरेशन में प्रदान करना अनिवार्य है? यदि हां, जहां इसे प्रदान करने की आवश्यकता है? – arvindwill

संबंधित मुद्दे