title: How to manually render Spring MVC view to html?
body: <p>Is it possible to render my view into html in my controller mapping method, so that i can return the rendered html as a part of my json object ?</p>
  
  <p>Example of my usual controller method :</p>
  
  <pre><code>@RequestMapping(value={"/accounts/{accountId}"}, method=RequestMethod.GET)
  public String viewAcc(final HttpServletRequest req, 
          final HttpServletResponse resp, final Model model,
          @PathVariable("accountId") final String docId) {
  
      // do usual processing ...
  
      // return only a STRING value, 
      //   which will be used by spring MVC to resolve into myview.jsp or myview.ftl
      //   and populate the model to the template to result in html
      return "myview";
  }
  </code></pre>
  
  <p>What i expect :</p>
  
  <pre><code>@RequestMapping(value={"/accounts/{accountId}"}, method=RequestMethod.GET)
  public String viewAcc(final HttpServletRequest req, 
          final HttpServletResponse resp, final Model model,
          @PathVariable("accountId") final String docId) {
  
      // do usual processing ...
  
      // manually create the view
      ModelAndView view = ... ? (how)
  
      // translate the view to the html
      //   and get the rendered html from the view
      String renderedHtml = view.render .. ? (how)
  
      // create a json containing the html
      String jsonString = "{ 'html' : " + escapeForJson(renderedHtml) + "}"
  
      try {
          out = response.getWriter();
          out.write(jsonString);
      } catch (IOException e) {
          // handle the exception somehow
      }
  
      return null;
  }
  </code></pre>
  
  <p>I wonder what is the right way to create the view and render the view into html manually within the controller method.</p>
  
  <h2>Update</h2>
  
  <p>Here's the working example from the accepted answer's guidance :</p>
  
  <pre><code>View resolvedView = thiz.viewResolver.resolveViewName("myViewName", Locale.US);
  MockHttpServletResponse mockResp = new MockHttpServletResponse();
  resolvedView.render(model.asMap(), req, mockResp);
  System.out.println("rendered html : " + mockResp.getContentAsString());
  </code></pre>