본문 바로가기

개발/html, css, javascript

서버의 설정값(*.properties) 을 JavaScript (.jsp, .js)에서 사용하기.

반응형

-config.properties

#Excel Download time limit(day)
excel.download.time.limit.day=31

 

-.JSP 

<%@ taglib prefix="spring" uri="http://www.springframework.org/tags"%>
<spring:eval expression="@commonConfig.getProperty('excel.download.time.limit.day')" var="limitDay"/>

<html>
//스크립트에서 사용하기
    <script>
        let limitDay = "<c:out value='${limitDay}' />";
    </script>
//화면에서 사용하기
    <body>
        <div><c:if test="${limitDay <= 31}"></div>
    </body>
</html>

 

-------------------------------------------------------------------------------------------------------------------------

 

- .JS

: 내가 지금 개발하야하는 부분은 공통으로 적용해야해서 따로 빠져있는 common.js 파일에 추가해야했다.

근데  let limitDay = "<c:out value='${limitDay}' />"; 이걸 써도 limitDay 의 값이 jstl 태그까지 통으로 String 으로 찍히는 현상 발생. 

찾아보니  js 파일은 서버스크립트로, servlet 으로 바꾼 뒤 컴파일하는 과정을 거치지않으므로 JSTL 언어를 사용할 수 없다고 한다. 

(추가 : 웹 기동시 순서가 java -> jstl -> html -> javascript 순인데 ,

서블릿이 jsp 파일을 완성된 html 로 만들어서 서버에서 클라이언트로 전송한다. 단, jsp 외부로 js 를 빼면 이건 서버에서 처리하지 않으므로 jstl 태그를 사용할 수 없는 것이다! 참고 : https://okky.kr/article/377148

그래서 미리 공통 JSP(나의 경우 contentsTop.jsp)의 <script></script> 안에 위 처럼 파라미터로 선언해놓고 JS 에서는 파라미터를 가져와 사용하면 된다.

  

반응형