Как показать значения из файла свойств в JSP в приложении spring MVC - программирование
Подтвердить что ты не робот

Как показать значения из файла свойств в JSP в приложении spring MVC

Я устанавливаю свои свойства в app-servlet.xml с помощью bean следующим образом:

    <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
            <property name="location" value="/WEB-INF/my.properties"></property>
    </bean>

В большинстве случаев я обращаюсь к свойствам в своих контроллерах или других классах следующим образом:

@Value("${dbtype}")
public String dbType;

Но что, если я хочу использовать свойство в JSP файле и обходить контроллер. Значение Я не хочу, чтобы тип значения передавался из контроллера в JSP в качестве атрибута модели.

Есть ли способ доступа к свойствам непосредственно в jsp?

4b9b3361

Ответ 1

Spring config

<util:properties id="propertyConfigurer" 
                  location="classpath:yourPropertyFileClasspathHere "/>
<context:property-placeholder properties-ref="propertyConfigurer" />

JSP

<spring:eval expression="@propertyConfigurer.getProperty('propertyNameHere')" />

Ответ 2

То, что вы также можете сделать, не связывает вас с поиском свойств в одном заполнителе свойств, или если вы используете конфигурацию java и просто создаете экземпляр PropertySourcesPlaceholderConfigurer, используйте объект среды:

<spring:eval expression="@environment.getProperty('application_builtBy')" />

Ответ 3

<bean class="org.springframework.context.support.ReloadableResourceBundleMessageSource" 
    id="messageSource"
    p:basenames="WEB-INF/i18n/site"
    p:fallbackToSystemLocale="false"/>

Теперь это ваш Файл свойств

site.name=Cool Bananas

И вот ваш JSP

<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>
<html>
  <head>
    <title><spring:message code="site.name"/></title>
  </head>
  <body>
  </body>
</html>

Ответ 4

В контексте просто сделайте следующее:

<util:properties 
    id="propertyConfigurer"
    location="classpath:yourPropertyFileClasspathHere"
/>
<context:property-placeholder properties-ref="propertyConfigurer" />

для создания свойств bean (так же, как @nkjava.blogspot.com в ответе ). Но это не все, что нужно для работы.

Теперь вам нужно выставить этот bean в JSP. Есть несколько способов сделать это, зависит от типа распознавателя. Существует решение для InternalResourceViewResolver - вам нужно установить для параметра "exposeContextBeansAsAttributes" значение true и заполнить "visibleContextBeanNames" со списком необходимых beans.

Для tiles также есть решение.

Чем вы можете просто использовать этот bean в своем JSP. Например, через EL:

${propertyConfigurer['my.string.from.prop.file']}