簡體   English   中英

Spring MVC AbstractView Java配置

[英]Spring MVC AbstractView Java configuration

我正在嘗試使用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文件(因為我已經配置了View解析器),而不是讀取BaseXlsxView

在此處輸入圖片說明

我已經看到了這種實現方式(不將Views.xml<bean id="myBeanId" class="myClassQualifiedName" >AbstractView在其他應用程序中有效,但在這里不起作用。

我記得SpringMVC如果沒有分配默認的view-adapter,也許默認的view-adapter返回jsp view。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM