如何使用spring spEL将servlet上下文路径注入bean属性?

时间:2014-03-21 21:34:52

标签: java spring servlets

我听说spEl可以将servlet上下文注入到它的bean属性中。

我正在使用xml配置样式。

你能举个例子吗?

2 个答案:

答案 0 :(得分:1)

是的,你听到的是正确的。您可以从Spring 3的WebApplicationContext下的任何可用bean中访问servletContext。 您可以在配置文件中定义它(在webapplicationcontext下加载)并访问为:

   <bean id="myClass" class="abc.def.MyClass">
<property name="context" value="#{servletContext}"/>

   public class MyClass{

   private ServletContext context;

public void setContext(ServletContext context){
    this.context = context;
}

....

}

答案 1 :(得分:0)

假设您正在使用webmvc,您可以通过@Controller访问HttpServletRequest中的servlet上下文:

public ModelAndView theController(HttpServletRequest request ...){
    ServletContext servletContext = request.getServletContext();
}

除此之外,您可以@Inject关于无处不在的ServletContext,即使在您的实体中也是如此。有趣的问题是:你想要实现什么目标?请说明您想要做什么,以便我们能够了解问题所在。