2008-10-13 8 views
1

저는 Ruby와 Java 세계에서 모두 일하고 있습니다. 저는 서브 도메인 (또는 CDN)에있는 애셋 (이미지, CSS 등)을 쉽게 참조 할 수 있도록 다양한 기능을 제공하는 merb-assets 프로젝트에서 다소 영감을 받았습니다.프로덕션 환경에서 다른 하위 도메인 (또는 CDN)의 자산을 어떻게 참조합니까?

내가 자바에서 동일한 작업을 수행 할 :

  • 개발 테스트, 나는 자산을 참조하는 하나 JSTL의 <c:url> 또는 스트럿츠 2의 <s:url value=""/> 태그를 사용하고 싶습니다.
  • 하지만 생산에서
  • , 나는 별도의 하위 도메인 (또는 CDN) 밖으로 이러한 자산의 대부분을 이동하려는.

거기에 도움이되는 taglib (또는 다른 방법론)이 있습니까? 나는 특히 매번 내가 <img> 또는 <link> 태그를 삽입, localhost을 위해 쓰레기에 내 <c:if와보기 및 테스트를 원하지 않는다.

저는 Struts 2 + JSP를 사용하고 있습니다.

답변

1

Struts 2에 대해서는 잘 모릅니다. 그러나 Maven2 기능을 사용하는 솔루션을 생각하고 있습니다 ... Maven2를 사용하여 응용 프로그램을 빌드하는 경우, 리소스 필터 및 프로필 기능에 문제가 있습니다.

자원 필터링 : 당신은 (우리의 경우, JSP 파일에서) 능숙 파일을 필터링 할 수 Maven2를 요청할 수 있습니다. 필터는 모든 $ {xxx}를 해당 값으로 대체하는 것을 의미합니다. 매개 변수 (예 : $ {domain.url})는 필요한 값 ("localhost", "http : // ...")으로 대체하는 데 유용합니다.

그런 다음 "개발 테스트"와 "프로덕션"의 두 가지 프로파일을 정의합니다. 각 프로필은 이러한 자산에 대한 자체 도메인을 정의합니다. 예를 들어, 개발 테스트에서 도메인을 "localhost"로 정의 할 수 있습니다. 프로덕션에서는 도메인이 "http : // ...."가됩니다.

나는이 문제를 해결할 수 있는지 확실하지 않습니다,하지만 당신은 그것을 시도 줄 수 있습니다 : O)

참고 : 필터 자료 : http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html 프로필 : http://maven.apache.org/guides/introduction/introduction-to-profiles.html

+0

내가 완전히 메이븐을 사용하여 투자하고를 2이므로이 솔루션은 재미있을 것입니다 (비록 내가 생각했던 솔루션과 완전히 다르지만!). 2 가지 질문 : 1. JSTL 변수와 필터링 충돌이 발생합니까? 2. 내 JSP가 WEB-INF/폴더에 남아 있도록하려면 어떻게 구성합니까? – myabc