Java 当字符串在同一个文件中定义时,如何在SpringXML文件中的map:util元素中引用该字符串变量?

Java 当字符串在同一个文件中定义时,如何在SpringXML文件中的map:util元素中引用该字符串变量?,java,spring,variables,selenium,xpath,Java,Spring,Variables,Selenium,Xpath,下面是一个xml文件的上下文,我在其中定义了一个映射及其元素。地图中的某些元素最终将由XPath组成,其中XPath的某些部分将是相同的。我想创建一些变量来表示那些XPath中跨元素冗余的部分 我定义了一个具有id、属性和值的bean。无论我尝试什么,我都无法引用bean的值。当我请求Map.getdevo.geterror404CategoriesContainer的值时,我得到的只是${errorContainer}。我想让它给我//div[@id='noResultsFeatures']/

下面是一个xml文件的上下文,我在其中定义了一个映射及其元素。地图中的某些元素最终将由XPath组成,其中XPath的某些部分将是相同的。我想创建一些变量来表示那些XPath中跨元素冗余的部分

我定义了一个具有id、属性和值的bean。无论我尝试什么,我都无法引用bean的值。当我请求Map.getdevo.geterror404CategoriesContainer的值时,我得到的只是${errorContainer}。我想让它给我//div[@id='noResultsFeatures']//div[contains@class,“noResultsFeaturesContainer']


我试图创建为变量的bean从开始,您需要为您的应用程序上下文定义一个PropertySourcesPlaceholderConfigurer。在中,可以将属性定义为键值对,并使用${key}语法引用这些值

请看这里:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd">

<bean id="errorContainer" class="java.lang.String">
    <property name="error404CategoryContainer" value="//div[@id='noResultsFeatures']//div[contains(@class,'noResultsFeaturesContainer')]"/>
</bean>

<util:map id="devo">
    <entry key="FourOFour">
        <util:map>                
            <entry key="error404FeaturedCategoriesHeader" value="//h2[@id='noResultsFeaturesHeader' and contains(text(),'Featured Categories')]" />


   None of these works – I only have one in the file at a time.

            <entry key="error404CategoriesContainer" value="${errorContainer}" />
            <entry key="error404CategoriesContainer" value="${errorContainer. error404CategoryContainer}" />
            <entry key="error404CategoriesContainer" value="${error404CategoryContainer}" />


            <entry key="error404CategoriesContainerLinks" value="//div[@id='noResultsFeatures']//div[contains(@class,'noResultsFeaturesContainer')][${1}]//ul//li" />
            <entry key="error404CategoriesContainerLinkByCategoryAndLinkNumber" value="//div[@id='noResultsFeatures']//div[contains(@class,'noResultsFeaturesContainer')][${1}]//ul//li[${2}]//a" />
        </util:map>
    </entry>
</util:map>