簡體   English   中英

在Spring IoC XML配置中如何從web.xml獲取顯示名稱

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM