스프링 WebContentGenerator로 자바스크립트 캐싱하기3
2차 작업이 끝인 줄 알았으나... 컨트롤러에 직접 속성으로 js 리소스 위치 목록과 리소스 타입을 알려도록 설정할 수 있는 기능을 추가했습니다.
<bean name="/js.do" class="koma.base.main.JavaScriptController" p:cacheSeconds="300">
<property name="resourceType" value="servlet"/>
<property name="jsResourceNames">
<list>
<value>js/koma.js</value>
<value>js/jquery-1.3.2.min.js</value>
<value>js/jquery-ui-1.7.2.min.js</value>
</list>
</property>
</bean>
2차까지의 기능도 유효하고 위와 같이 컨트롤러에 리소스 타입과 리소스 path 목록을 넘겨주면 리소스 타입에 따라 적절한 스프링 Resource를 사용해서 파일들을 읽어줍니다.
이렇게 하면 성윤이가 2차 작업에서 말한대로 js가 여러 곳에 분산되어 있을 경우에 resourceType을 url로 설정하고, value에 js 리소스를 나타내는 url 목록을 주면 되겠습니다.
(흠... map 형태로 가야 하는 건가... 이 리소스는 이 타입 저 리소스는 저 타입... 설정하기도 귀찮을 테니 그냥 한 타입으로 가도록 하죠. 일단은.)
url 뒤에 붙이던 것 중에 고정적으로 사용하는 js의 경우 위와같이 컨트롤러에 설정해주고, 페이지에 따라 사용하고 안 하고 하는 것은 url 뒤에 붙여주면 되겠습니다.
기본 js만 사용하는 페이지에서는 이렇게..
<script language="JavaScript" src="/js.do"></script>
부가적인 js까지 사용하는 페이지에서는 이렇게..
<script language="JavaScript" src="/js.do?name=springsprout.js"></script>