Spring AbstractExcelView – dynamic设置URL

AbstractExcelView接受一个指向Excel工作簿的URL(即模板)。

而不是在容器创build时指定这个URL,我想dynamic地改变它。 我想要做的是重复使用多个Excel格式相同的视图(即一个是为屏幕,一个为打印)。 在请求中,我有一个variables,它决定了基于用户select的格式。

我如何根据这个请求variablesdynamic地设置URL? 当我的请求variables是“打印”时,我希望Excel模板是“excel / printable”,但是当variables是“screen”时,我希望Excel模板是“excel / fancy”。 只需在所需的方法buildExcelDocument()中设置URL不会,因为工作簿已经在这里初始化。

我发现最接近的东西可能会初始化这个(我有很高的期望)是类方法getTemplateSource(String url, HttpServletRequest request)...但是当我打电话给我时,Excel文档打开时得到一个文件数据错误,它是空的。