从applicationcontext.xml获取null值

时间:2011-10-13 08:19:22

标签: java spring spring-mvc struts2 applicationcontext

我正在使用带弹簧的struts2应用程序进行后端处理 我们使用的是database.properties文件,条目如下:

jdbc.url=jdbc:mysql://localhost:3306/myDb  
jdbc.username=root  
jdbc.password=rooooot  
jdbc.csvlocation=C:\myCSV

我在database.properties

中添加了以下新条目
enhancePerf.Flag=true 

在applicationcontext.xml中,我获取的值如下: -

<bean id="userLogin" scope="prototype"  
        class="com.hello.something.actions.UserLoginAction">  
        <property name="perfEnhance" value="${enhancePerf.Flag}"/>  
</bean>

在UserLoginAction中声明一个全局变量perfEnhance,并形成相同的setter和getters方法之后,我仍然没有得到这个值。

我按照以下链接: - http://www.roseindia.net/tutorial/spring/spring3/web/applicationcontext.xml-properties-file.html

请告知。

1 个答案:

答案 0 :(得分:0)

而不是你的PropertyPlaceholderConfigurer bean,放:

<context:property-placeholder location="classpath:path/to/database.properties"
                              ignore-unresolvable="false"/>

这样,如果找不到该属性,抱怨。否则,你的类路径中似乎有另一个“database.properties”文件,它只是没有这样的属性。

确保“path / to / database.properties”在您的类路径中。如果database.properties本身是您的类路径,则不需要“路径/到”=&gt;只是classpath:database.properties

您还必须使用ContextLoaderPlugin配置Spring以将Bean作为bean进行管理,并且必须在Struts配置中使用bean名称。如果您的struts-config.xml文件中包含以下内容:

<action path="/users" .../> 

您必须在action-servlet.xml中使用“/ users”名称定义Action的bean:

<bean name="/users" .../>

请查看Spring官方文档中的Spring Struts Integration

编辑回答评论:

context是一个XML命名空间,应该在使用它的XML文件中定义:

<beans xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xmlns:context="http://www.springframework.org/schema/context"
       xmlns:util="http://www.springframework.org/schema/util"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
       http://www.springframework.org/schema/beans/spring-beans.xsd
       http://www.springframework.org/schema/context
       http://www.springframework.org/schema/context/spring-context.xsd 
       http://www.springframework.org/schema/util 
       http://www.springframework.org/schema/util/spring-util.xsd">