0

コントローラーから外部 Web ページを (文字列として) 取得しています。HTML を含むこの文字列を として返すにはどうすればよいModelAndViewですか?

4

1 に答える 1

7

その Web ページをクライアント/ブラウザーに戻したい場合は、ModelAndView を作成する必要はありません。

代わりにこれを行う

@Controller
public class MyController() {

    @RequestMapping(...)
    @ResponseBody
    public String controllerMethod() {
        String htmlDocument = getHtmlFromSomeWhere();
        return htmlDocument;
    }
}

を返す必要がModelAndViewある場合は、独自のView実装を作成する必要があります。AbstractPdfViewいくつかのテンプレートをご覧ください。

return ModelAndView(new MyPlainHtmlView(htmlDocument));


public class MyPlainHtmlView implements View {
     ....

     private final String htmlDocument;

     public MyPlainHtmlView(String htmlDocument) {
         this.htmlDocument = htmlDocument;
     }

     @Override
     renderMergedOutputModelMap<String, Object> model, HttpServletRequest request, HttpServletResponse response) {
           ServletOutputStream out = response.getOutputStream();
           out.write(this.htmlDocument.getBytes("utf-8"));
     }
}
于 2013-05-28T13:27:39.897 に答える