Каков наилучший способ создания и использования файла инициализации с параметрами при выполнении веб-проекта springmvc? - PullRequest
1 голос
/ 12 декабря 2010

Я хочу создать файл инициализации в моем веб-проекте spring-mvc. Каков наилучший способ сделать это, чтобы я мог получить значение thoses в моих файлах Java, а также в моих файлах JSP? Спасибо за любые советы!

UPDATE

что делать, если я хочу загрузить эти параметры из, скажем, файла init.ini и сделать их доступными все время, пока приложение работает?

Ответы [ 2 ]

0 голосов
/ 13 декабря 2010

Большинство веб-приложений Spring, над которыми я работаю, имеют файл свойств в src / main / resources, к которому мы получаем доступ как из кода Java, так и из файлов JSP.

Мы используем пользовательский taglib для загрузки интересующего свойства, например так:

<foo:propertyLoader bundle="bar" property="googleKey"/>

но есть много способов прочитать файл свойств в JSP. Посмотрите этот вопрос stackoverflow:

JSP / сервлет считывает параметры из файла свойств?

Мы обычно храним такие вещи, как ключи GoogleAPI, ключ Google Analytic, URI для других веб-приложений и т. Д.

0 голосов
/ 12 декабря 2010

Если вы хотите сделать эти параметры доступными для всех jsp-файлов и контроллеров, вы можете создать перехватчик.

public class ParametersInterceptor extends HandlerInterceptorAdapter {


   Object parameters = null;
   public void loadParameters(){
      parameters = //Read from database or properties file.
   }

    public boolean preHandle(HttpServletRequest request,
            HttpServletResponse response, Object handler) throws Exception {

            request.setAttribute("parameters", parameters);
            return true;
    }

}

Затем определите ваш перехватчик как bean-компонент.

<bean name="parametersInterceptor"
    class="com.zzz.zzz.ParametersInterceptor"
    init-method="loadParameters" >
</bean>

Тогдав вашем компоненте urlMappping вы можете добавить это, чтобы сообщить Spring, что вы хотите, чтобы список перехватчиков выполнялся для определенных отображений.

<property name="interceptors">
   <list>
    <ref bean="parametersInterceptor" />
   </list>
</property>

Здесь - пример использования перехватчиков

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...