我正在从我的控制器中获取一个外部网页(作为字符串)。如何将这个包含 HTML 的字符串作为ModelAndView
?
问问题
3081 次
1 回答
7
如果您想将该网页返回给客户端/浏览器,则无需创建 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 回答