Spring mvc имеет response.write для вывода в браузер напрямую? - PullRequest
15 голосов
/ 30 июня 2010

Я использую spring mvc с freetemplate.

В asp.net вы можете писать прямо в браузер, используя Response.Write ("hello, world");

Можете ли вы сделатьэто весной мвс?

Ответы [ 4 ]

44 голосов
/ 30 июня 2010

Вы можете либо:

  • получите HttpServletResponse и напечатайте его Writer или OutputStream (в зависимости от того, хотите ли вы отправлять текстовые или двоичные данные)

    @RequestMapping(value = "/something")
    public void helloWorld(HttpServletResponse response)  {
      response.getWriter().println("Hello World")
    }
    
  • Использование @ResponseBody:

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

Таким образом, ваш Hello World текст будет записан в поток ответов.

1 голос
/ 12 декабря 2013

Если вы хотите отправить что-то в OutputStream, даже если вы используете Freemaker, просто используйте @ ResponseBody

пример:

    @RequestMapping(value = "report1", method = RequestMethod.GET, produces = "application/pdf")
    @ResponseBody
    public void getReport1(OutputStream out) {
1 голос
/ 30 июня 2010

Я уверен, что это возможно в некоторых контекстах.Например, если у вас есть объект HttpServletResponse, доступный вам (как вы делаете в Controller, или если вы пишете свой собственный View), вы можете позвонить getWriter() или getOutputStream() и написать.

Но вы должны быть осторожны, чтобы убедиться, что то, что вы делаете, не мешает использованию шаблонов FreeMarker.И я не уверен, что вы сможете управлять им из шаблона FreeMarker.

1 голос
/ 30 июня 2010

Если вы используете аннотированный контроллер (или, как я полагаю, не аннотированный в этом отношении), вы можете использовать аргумент метода HttpServletResponse в вашем контроллере, чтобы получить поток вывода, а затем записать на экран - см. http://download.oracle.com/docs/cd/E17410_01/javaee/6/api/javax/servlet/ServletResponse.html#getOutputStream%28%29

Для получения дополнительной информации о параметрах, которые вы можете использовать в своих контроллерах / обработчиках, см. http://static.springsource.org/spring/docs/2.5.x/reference/mvc.html (раздел 13.11.4)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...