-->

[JSP / Spring] global.properties 변숫값 가져오기

 

Sping에는 global.properties라는 파일이 존재하는데 시스템 단에서 환경변수를 설정해 이용할 수 있다.

예를 들어 JNDI 설정이라던지, 서버 운영타입, 서버 내 특정 경로 등

Java에서도 해당 환경변수를 불러와 사용할 수 있고 JSP 내에서도 읽어와 사용할 수 있다.

 

다음과 같은 프로퍼티 파일이 있다고 가정하자.

#----------------------------------------------------------------------------------------------------------------------------
# 운영서버 타입(WINDOWS, UNIX)
#----------------------------------------------------------------------------------------------------------------------------
Globals.OsType=WINDOWS
#----------------------------------------------------------------------------------------------------------------------------
# API 사용키값
#----------------------------------------------------------------------------------------------------------------------------
Api.key=apikeySampleTest
Api.pw=apiPwSampleTest

 

<Java>

	@Value("${Globals.OsType}")
	private  String serverOsType;

 

<JSP>

JSP 내에서 사용하려면 먼저 PropertiesFactoryBean 객체를 사용해 Bean 등록을 해야 한다.

	@Bean(name="GlobalProperties")
		public PropertiesFactoryBean GlobalProperties() {
		PropertiesFactoryBean bean = new PropertiesFactoryBean();
		bean.setLocation(new ClassPathResource("resource/env/globals.properties"));
		return bean;
	}

 

 

다음 JSP 내에서 spring:eval 태그를 이용해 Bean을 불러들여 변수 할당을 한다.

<%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://www.springframework.org/tags" prefix="spring" %>
<spring:eval expression="@GlobalProperties['Api.apiKeySampleTest']" var="ApiKey"/>

다음 pageScope내에 할당된 값을 스크립틀릿으로 선언하고

<%
    String apiKey = (String) pageContext.getAttribute("ApiKey"); //API Key 값";
%>

그리고 script 태그내에서 jsp표현식으로 불러들인다.

<script type="text/javascript">
	String apiKey = '<%=ApiKey%>'
</script>

 

+ Recent posts