Java 返回ModelAndView时不渲染视图
我有以下问题。我需要在控制器中导出PDF 下面的代码返回了一个视图,它按预期工作Java 返回ModelAndView时不渲染视图,java,spring,spring-mvc,Java,Spring,Spring Mvc,我有以下问题。我需要在控制器中导出PDF 下面的代码返回了一个视图,它按预期工作 @RequestMapping(method = RequestMethod.GET) public View exportReport( @RequestParam(value = "userName", required = true) String userName, @RequestParam(value = "startDate", require
@RequestMapping(method = RequestMethod.GET)
public View exportReport(
@RequestParam(value = "userName", required = true) String userName,
@RequestParam(value = "startDate", required = true) Date startDate,
@RequestParam(value = "endDate", required = true) Date endDate) {
///////////////////////////////////////////
return new TimeSheetReportPdfView();
}
如果更改方法以返回ModelAndView,则会出现问题:
@RequestMapping(method = RequestMethod.GET)
public ModelAndView exportReport(
@RequestParam(value = "userName", required = true) String userName,
@RequestParam(value = "startDate", required = true) Date startDate,
@RequestParam(value = "endDate", required = true) Date endDate) {
///////////////////////////////////////////
return new ModelAndView(new TimeSheetReportPdfView(), model);
}
现在,PDF没有导出,我得到的只是一个空白页,日志中没有任何内容
更新:
public class TimeSheetReportPdfView extends AbstractPdfView {
@SuppressWarnings("unchecked")
@Override
protected void buildPdfDocument(Map model, Document document,
PdfWriter writer, HttpServletRequest request, HttpServletResponse response)
throws Exception {
}
谢谢你的帮助
谢谢。我找到了这种行为的原因。显然,当我导入ModelAndView时,我不小心从org.springframework.web.portlet而不是org.springframework.web.servlet导入了它
无论如何,感谢您的反馈。什么是
TimeSheetReportPdfView
?尝试删除@SuppressWarnings(“未选中”),可能您会收到一些警告,从而得到一些线索。您可以发布查看代码吗?我在这里没有看到任何问题?我已经调试过了,但它甚至没有到达视图代码。buildPdfDocument()中只有document.add(新段落(“Test”);一个。我自己已经做过不止一次了,这是一个让人头疼的问题,这就是为什么我在开发时明确地从Spring libs中删除portlet内容。如果可以的话,我会给你100倍的投票。我花了近2天的时间试图想象每一种可能的场景,为什么我的模型变量都没有出现在我的视图中。