복붙노트

[SPRING] Spring MVC - JSP - 환경 특정 상수 저장 장소

SPRING

Spring MVC - JSP - 환경 특정 상수 저장 장소

Spring MVC / JSP 애플리케이션에서 컨트롤러 및 환경 특정 base_url, 자바 스크립트에서 사용되는 애플리케이션 ID와 같은 뷰에서 액세스해야하는 것을 저장하는 위치는 어디입니까?

애플리케이션 범위 Bean을 작성한 다음 JSP의 맨 위에있는 을 시도했지만 작동하지 않는 것 같습니다.

   <!-- Environment -->
    <bean id="myEnv" class="com.myapp.MyAppEnvironment" scope="application">
        <property name="baseUrl" value="http://localhost:8080/myapp/"/>
        <property name="videoPlayerId" value="234346565"/>
    </bean>

그리고 그것을 다음과 같은 방식으로 사용한다.

<jsp:useBean id="myEnv" scope="application" type="com.myapp.MyAppEnvironment"/>

해결법

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

    1.scope = "application"은 무엇입니까? 그것은 나에게 새로운 것입니다.

    scope = "application"은 무엇입니까? 그것은 나에게 새로운 것입니다.

    어쨌든 필요한 경우 JSP가 Spring 빈에 액세스 할 수 있어야만 InternalResourceViewResolver의 exposedContextBeanNames 속성을 사용하여 JSTL에 Bean을 노출 할 수있다. 예 :

    <bean id="myEnv" class="com.myapp.MyAppEnvironment">
        <property name="baseUrl" value="http://localhost:8080/myapp/"/>
        <property name="videoPlayerId" value="234346565"/>
    </bean>
    
    <bean id="viewResolver" class="org.springframework.web.servlet.view.InternalResourceViewResolver">
       <property name="exposedContextBeanNames">
          <list>
             <value>myEnv</value>
          </list>
       </property>
    </bean>
    

    그리고 나서 JSP에서 :

     ${myEnv.baseUrl}
    
  2. from https://stackoverflow.com/questions/3046929/spring-mvc-jsp-place-to-store-environment-specific-constants by cc-by-sa and MIT license