项目编写者类中的Servletcontext

时间:2017-12-13 06:39:14

标签: java spring batch-file servlets

我需要将XML转换为pdf。为此,我需要读取一个xsl文件,该文件位于inputstream中的工作区内。这个逻辑应该在我的itemwriter类中。如何在我的itemwriter类中获取servletcontext?

1 个答案:

答案 0 :(得分:0)

创建一个带有private static staticServletContext字段和

的单例bean ServletContextHolder
public static getServletContext() {
    return staticServletContext;
}

方法

在servlet上下文可用的任何位置添加初始化逻辑。例如。在控制器中添加HttpServletRequest参数并调用request.getServletContext()以将上下文分配给ServletContextHolder bean的静态字段。

然后只需访问ItemWriter中的静态字段。

或者,您可以将请求存储在线程本地存储中,并从请求中获取上下文。如果从请求可用的控制器调用ItemWriter线程,则可以访问该请求。