我正在尝试将 Spring MVC 控制器呈现为 String 以使用 iText 创建 PDF。因为应用程序位于 Oracle Access Manager 后面,所以我无法对页面的 URL 进行 URL 请求并将输出保存到字符串,因此我需要在不发出另一个 HTTP 请求的情况下呈现页面。
我的目标是执行以下操作:
MyMvcController controller = new MyMvcController();
ModelAndView modelAndView = new ModelAndView("TemplateName");
...
modelAndView.addObject(someObject);
etc, etc
...
String html = controller.render(modelAndView);
...
render in iText to a PDF
...
我已经可以使用 Flying Saucer + iText 渲染标记,我只是有一段时间将控制器的输出捕获到字符串。有什么想法吗?我愿意先不渲染到字符串,最终结果只需要是我可以附加到电子邮件的 PDF,并且我需要能够动态地将数据添加到我正在渲染的 JSP。