确切地说,如何在Spring应用程序上下文配置XML文件中获取存储在应用程序的web.xml中的<display-name>
标记下的<web-app>
标记的值。
理想情况下,我想要以下内容......
<bean><property value="${servletContext.servletContextName}/></bean>
似乎ServletContext.getServletContextName()
做了我想要的但是我似乎无法弄清楚如何在Spring应用程序上下文文件中获取它。
答案 0 :(得分:5)
好的,答案在Spring 3.0.x中是微不足道的。根据{{3}}
的文档已过时。从Spring 3.0开始,因为“servletContext”现在可用作每个WebApplicationContext中的默认bean
所以我决定尝试以下操作并且它有效!
<bean><property value="#{servletContext.servletContextName}/></bean>
由于servletContext
对象是隐式定义的,我们可以使用#{}
语法通过Spring EL访问它。
答案 1 :(得分:1)
我认为你不能通过XML配置来做到这一点。
您可以自动装配bean以接收ServletContext
对象(或实现ServletContextAware
),并以编程方式从中获取它,但我不认为XML表达式有任何可见性。
答案 2 :(得分:0)
也许试试Expression Language?
<bean>
<property value="#{T(javax.servlet.ServletContext).getServletContextName()}"/>
</bean>
我怀疑如果它有效则会打印null,因为还没有上下文。