【问题标题】:Spring MVC AbstractView Java configurationSpring MVC AbstractView Java 配置
【发布时间】:2019-05-19 11:48:28
【问题描述】:

我正在尝试使用 org.springframework.web.servlet.view.document 实现 Excel/PDF 下载。AbstractXlsxView

我的应用程序是使用 org.springframework.web.servlet.support 配置的。AbstractAnnotationConfigDispatcherServletInitializer

我用 @Component 创建了我的 AbstractXlsxView 并为其指定了名称。

@Component(VIEW_NAME_BASE_XLSX)
public class BaseXlsxView extends AbstractXlsxView {

public static final String VIEW_NAME_BASE_XLSX = "baseXlsxView";
public static final String MODEL_ATTRIBUTE_NAME_BASE_XLSX_VIEW_BEAN = "MODEL_ATTRIBUTE_NAME_BASE_XLSX_VIEW_BEAN";

@Override
protected void buildExcelDocument(Map<String, Object> modelMap, Workbook workbook, HttpServletRequest request,
        HttpServletResponse response) throws Exception {

    Sheet sheet = workbook.createSheet("Base Sheet");

    Row row = sheet.createRow(0);
    Cell cell = row.createCell(0, CellType.STRING);
    cell.setCellValue(new Date());

    response.setHeader("Content-Disposition",
            "attachment; filename=" + "BaseExcelDocument" + System.currentTimeMillis());

}

}

我在控制器返回的 ModelAndView 中使用指定的名称作为视图名称。

@GetMapping(value = "/exportBaseXlsx")
public ModelAndView exportBaseXlsx(ModelMap modelMap, HttpServletRequest httpServletRequest) {
    return new ModelAndView(BaseXlsxView.VIEW_NAME_BASE_XLSX, BaseXlsxView.MODEL_ATTRIBUTE_NAME_BASE_XLSX_VIEW_BEAN,
            null);
}

这总是抛出 404。 它正在尝试读取 JSP 文件(因为我已经配置了视图解析器)而不是读取 BaseXlsxView

我见过这种实现方式(不使用 views.xml&lt;bean id="myBeanId" class="myClassQualifiedName" &gt;AbstractView 在其他应用程序中工作,但它在这里不工作。

【问题讨论】:

  • 请分享您的配置
  • AbstractXlsxView没有实现配置

标签: java excel spring-mvc pdf pdf-generation


【解决方案1】:

我记得SpringMVC有默认的view-adapter,如果你不赋值的话,可能默认的view-adapter会返回jsp视图。

【讨论】:

    猜你喜欢
    • 2017-01-27
    • 2016-10-13
    • 1970-01-01
    • 2014-05-21
    • 2014-06-08
    • 2011-01-08
    • 2015-12-28
    • 2011-09-27
    • 1970-01-01
    相关资源
    最近更新 更多