[英]Modify the <display-name> in web.xml at build time with Jenkins
[英]How to get display-name from web.xml in a Spring IoC XML Configuration
確切地說,如何在Spring應用程序上下文配置XML文件中的存儲在應用程序web.xml中的<web-app>
標記下獲取<display-name>
標記的值。
理想情況下,我想要以下內容...
<bean><property value="${servletContext.servletContextName}/></bean>
看起來ServletContext.getServletContextName()
我的要求,但是我似乎無法弄清楚如何在Spring應用程序上下文文件中獲取該句柄。
好的,答案在Spring 3.0.x中是微不足道的。 根據ServletContextFactory的文檔
已過時。 從Spring 3.0開始,由於現在每個WebApplicationContext中都可以將“ servletContext”用作默認bean
因此,我決定嘗試以下方法,並成功了!
<bean><property value="#{servletContext.servletContextName}/></bean>
由於servletContext
對象是隱式定義的,因此我們可以使用#{}
語法通過Spring EL訪問它。
我認為您無法通過XML配置完成此操作。
您可以自動裝配一個bean來接收ServletContext
對象(或實現ServletContextAware
),並以編程方式從中獲取它,但是我不認為XML表達式對此具有可見性。
也許嘗試表達語言 ?
<bean>
<property value="#{T(javax.servlet.ServletContext).getServletContextName()}"/>
</bean>
我懷疑如果可行,它將打印null,因為還沒有上下文。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.