Как я могу ссылаться на активы из другого субдомена (или CDN) в производстве? - PullRequest
1 голос
/ 13 октября 2008

Я работаю как в мире Ruby, так и в Java. Я был несколько вдохновлен проектом merb-assets , который предоставляет различные функциональные возможности, позволяющие легко ссылаться на ресурсы (изображения, CSS и т. Д.), Расположенные на поддомене (или CDN).

Я хочу сделать то же самое в Java:

  • при разработке и тестировании , я хочу использовать теги <c:url> JSTL или <s:url value=""/> в Struts 2 для ссылки на активы.
  • но в production я хочу переместить большинство этих активов в отдельный поддомен (или CDN).

Существуют ли какие-либо теги (или другие методологии), которые могут помочь с этим? Я не особо хочу засорять свои взгляды с помощью <c:if и проверок на localhost, каждый раз, когда я вставляю тег <img> или <link>.

Я использую Struts 2 + JSP.

1 Ответ

1 голос
/ 13 октября 2008

Я действительно не знаю Struts 2, но я думаю о решении, которое включает в себя использование функций Maven2 ... Поэтому, если вы действительно используете Maven2 для создания своего приложения, вы можете решить свою проблему с помощью фильтра ресурсов и функций профилей.

Фильтрация ресурсов: Вы можете попросить Maven2 отфильтровать файлы ресурсов (в нашем случае, файлы JSP). Фильтр означает заменить все $ {xxx} на их значения. Это будет полезно для замены параметра (например, $ {domain.url}) на значение, которое вам нужно иметь ("localhost", "http: // ...").

Затем вы определяете 2 профиля: «разработка-тест» и «производство». Каждый профиль будет определять свой собственный домен для этих активов. Например, в development-test вы можете определить домен как «localhost», в производственном процессе домен будет «http: // ....».

Я не уверен, что это решит вашу проблему, но вы можете попробовать: o)

Рекомендации: Ресурсы фильтра: http://maven.apache.org/plugins/maven-resources-plugin/examples/filter.html Профили: http://maven.apache.org/guides/introduction/introduction-to-profiles.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...