2010-06-30 27 views

cevap

42

yapabilirsiniz ya:

  • HttpServletResponse almak ve yazdırmak onun Writer veya

    @RequestMapping(value = "/something") 
    public void helloWorld(HttpServletResponse response) { 
        response.getWriter().println("Hello World") 
    } 
    
  • Kullanım @ResponseBody (eğer metinsel veya ikili veri göndermek isteyip bağlı olarak) OutputStream:

    @RequestMapping(value = "/something") 
    @ResponseBody 
    public String helloWorld() { 
        return "Hello World"; 
    } 
    

Böylece Hello World metniniz yanıt akışına yazılacaktır.

+0

yüzden @responsebody sonra görünüm çözümleyicinizi yok sayar? Ben freemarker kullanıyorum – Blankman

+0

Bence düşünüyorum .... – Bozho

+0

Benzer bir yöntem, doğrudan çıkış akışına bir dosya göndermek için kullanılabilir mi? Teşekkür ederim. – kmehta

0

Ben bazı bağlamlarda mümkün eminim görüyoruz. Örneğin, HttpServletResponse nesnesini kullanabiliyorsanız (Controller'da yaptığınız gibi veya kendi View'unuzu yazdıysanız), getWriter() veya getOutputStream() numaralarını arayabilir ve buna yazabilirsiniz.

Ancak, yaptığınız şeyin FreeMarker şablonlarını kullanımınıza müdahale etmediğinden emin olmalısınız. Ve bunu bir FreeMarker şablonundan yönetip yönetemeyeceğinizden emin değilim.

1

Eğer OutputStream bir şeyler göndermek istiyorsanız, Freemaker kullanıyor olsalar bile, sadece @ResponseBody

örneği kullanın:

@RequestMapping(value = "report1", method = RequestMethod.GET, produces = "application/pdf") 
    @ResponseBody 
    public void getReport1(OutputStream out) { 
İlgili konular