[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>
'Back-end' 카테고리의 다른 글
[.NET] .NET Eco System 용어 정리 (ASP.NET, ASP.NET MVC, ADO.NET Core, ADO.NET, cshtml ...) (0) | 2022.06.06 |
---|---|
[Node.js] Node.js 설치 및 REPL 터미널 실행 (0) | 2022.05.14 |
[JSP] <jsp:include> 와 <jsp:param> 그리고 XSS 보안이슈 (2) | 2021.07.20 |
[Java] String을 Json객체로 형변환하기 (0) | 2021.01.20 |
[Java] 예외 발생 시키기 (0) | 2021.01.19 |