2010-06-15 2 views
7

Spring MVC/JSP 애플리케이션에서 컨트롤러 및 환경 특정 base_url과 같은 뷰에서 액세스해야하는 것을 저장하는 곳에서 사용할 애플리케이션 ID 자바 스크립트 등등?Spring MVC - JSP - 환경 특정 상수 저장 위치 :

응용 프로그램 범위 bean을 작성한 다음 내 JSP의 맨 위에 <jsp:useBean>을 시도했지만 작동하지 않는 것 같습니다.

<!-- 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"/> 
+0

정교한하시기 바랍니다 최종 사용자의 관점보다는 개발자의 관점에서보다 "작동하지 않는 것"입니다. 정확하게 무엇이 일어나고 정확히 무엇이 아닌가요? 모든 오류/예외 (로그에 있음)? – BalusC

+0

그 범위의 빈 발견, 그것은 예외를 던졌다 고하지만, 만약 당신이 그런 사건을 처리하는 방법인지 모르겠지만, 예외의 유형입니다 : 자바. lang.InstantiationException : 범위 내에서 bean spEnv를 찾을 수 없음 – walnutmon

답변

9

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

JSP가 Spring 빈에 액세스 할 수 있어야한다면 속성을 InternalResourceViewResolver으로 사용하여 JSTL에 Bean을 노출 할 수 있습니다. 당신의 JSP에서

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

다음 : 예를 들어

${myEnv.baseUrl} 
+0

scope = "application"- http://java.sun.com/products/jsp/tags/11/syntaxref11.fm14.html View Resolver의 흥미로운 기능입니다. , 나는 이것을 시도 할 것이고, 그것이 나를 위해 작동한다면 대답을 부딪 힐 것이다. – walnutmon

+0

@jboyd : 아, 그게 JSP 일이야, 봄에는 적용되지 않는다. – skaffman