我有以下问题。我需要在 Controller 中导出 PDF

下面的代码,我返回一个 View ,按预期工作。


@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 导入了它。

无论如何,感谢您的反馈。

关于java - 返回 ModelAndView 时不呈现 View ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2565887/

10-12 03:24