복붙노트

[SPRING] 봄 MVC 응용 프로그램에서 JSP로 속성 파일의 값을 표시하는 방법

SPRING

봄 MVC 응용 프로그램에서 JSP로 속성 파일의 값을 표시하는 방법

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에서 직접 속성에 액세스하는 방법이 있습니까?

해결법

  1. ==============================

    1.봄 설정

    봄 설정

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

    JSP로

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

    2.당신이 할 수있는 일은 단일 속성 자리 표시 자에서 속성을 찾는 것에 묶이지 않거나 java config를 사용하고 PropertySourcesPlaceholderConfigurer를 인스턴스화하는 것이 환경 객체를 사용하는 경우에 당신을 묶을 수 없습니다.

    당신이 할 수있는 일은 단일 속성 자리 표시 자에서 속성을 찾는 것에 묶이지 않거나 java config를 사용하고 PropertySourcesPlaceholderConfigurer를 인스턴스화하는 것이 환경 객체를 사용하는 경우에 당신을 묶을 수 없습니다.

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

    3.

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

    이제 이것이 당신의 Properties 파일입니다.

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

    4.문맥에서 다만 이것을하십시오 :

    문맥에서 다만 이것을하십시오 :

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

    Properties bean을 생성하기 위해 (그의 대답에서 @ nkjava.blogspot.com과 동일). 그러나 이것이 모든 일이해야 할 필요는 없습니다.

    이제이 빈을 JSP에 노출시켜야한다. 이를 수행하는 방법은 거의 없으며보기 확인자의 유형에 따라 다릅니다. InternalResourceViewResolver에 대한 해결책이 있습니다 - "exposeContextBeansAsAttributes"를 true로 설정하고 "exposedContextBeanNames"를 필수 빈의 목록으로 채워야합니다.

    타일의 경우도 해결책입니다.

    JSP에서이 bean을 간단하게 사용할 수 있습니다. EL을 통해 예를 들면 :

    ${propertyConfigurer['my.string.from.prop.file']}
    
  5. from https://stackoverflow.com/questions/15111260/how-to-show-values-from-property-file-in-jsp-in-a-spring-mvc-app by cc-by-sa and MIT license