관리 메뉴

ふたりで

spring tags + application.properties 값 참조 하기 본문

Spring

spring tags + application.properties 값 참조 하기

graykang 2022. 4. 28. 15:40
728x90
반응형
SMALL

예를 들어 google analytics 스크립트를 적용해야 할 경우 release에서만 스크립트가

적용되도록 해야 할 경우 아래와 같이 처리를 하였다.

1. application.properties 설정.(Maven 빌드시 참조되는 각각의  application.properties에 아래를 참고해 설정한다.)

//local-개발PC의 application.properties
#google analytics type
google.analytics.type=local

//개발서버의 application.properties
#google analytics type
google.analytics.type=dev

//운영서버의 application.properties
#google analytics type
google.analytics.type=dev

2. layout 설정시 모든 화면에 공통으로 include 되는 header용 jsp 파일 설정.

<!-- spring/tage 를 사용하기 위해 입력 해준다 -->
<%@ taglib prefix="spring" uri="http://www.springframework.org/tags" %>
<!-- application.properties에 설정한 값을 자동으로 맵핑 해준다 -->
<spring:eval expression="@environment.getProperty('google.analytics.type')" var="GoogleAnaType" />
<spring:eval expression="@environment.getProperty('google.analytics.key')" var="GoogleAnakey" />
<!-- 아래 두개는 jstl 사용을 위해 설정 -->
<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>
<%@ taglib prefix="fn" uri="http://java.sun.com/jsp/jstl/functions" %>


<c:if test="${GoogleAnaType != 'dev' and GoogleAnaType != 'local'}">
    <!-- Global site tag (gtag.js) - Google Analytics -->
    <script type="text/javascript" async src="https://www.googletagmanager.com/gtag/js?id=${GoogleAnaKey}"></script>

    <script type="text/javascript">
        var googleAnaKey = '${GoogleAnaKey}';
        //alert(googleAnaKey);
         window.dataLayer = window.dataLayer || [];
         function gtag(){dataLayer.push(arguments);}
         gtag('js', new Date());
         gtag('config', googleAnaKey);
    </script>
</c:if>

끝.

728x90
반응형
LIST
Comments