Получение нулевого значения из applicationcontext.xml - PullRequest
0 голосов
/ 13 октября 2011

Я работаю над приложением 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>

После объявления глобальной переменной perfEnhance в UserLoginAction и формирования его метода setters и getters я все еще не получаю значение.

Я перешел по следующей ссылке: -
http://www.roseindia.net/tutorial/spring/spring3/web/applicationcontext.xml-properties-file.html

Пожалуйста, сообщите.

1 Ответ

0 голосов
/ 14 октября 2011

Вместо вашего PropertyPlaceholderConfigurer боба поставьте:

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

Таким образом, если свойство не найдено, оно будет жаловаться. В противном случае может показаться, что у вас может быть другой файл «database.properties» в вашем classpath, который просто не имеет такого свойства.

Убедитесь, что путь / to / database.properties находится в вашем пути к классам. Если database.properties сам является вашим путем к классу, тогда "path / to" не требуется => просто classpath:database.properties

Вам также необходимо настроить Spring для управления вашими Действиями как бинами, используя ContextLoaderPlugin, так же как вы должны использовать имена бинов в конфигурации Struts. Если в вашем файле struts-config.xml есть следующее:

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

Вы должны определить bean-компонент Action с именем "/ users" в action-servlet.xml:

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

Пожалуйста, ознакомьтесь с Spring Struts Integration из официальных документов Spring.

РЕДАКТИРОВАТЬ, чтобы ответить на комментарий:

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">
...