Как вытащить общие части кода на моем сайте Spring MVC - PullRequest
2 голосов
/ 07 ноября 2010

Вот моя проблема:

Мой веб-сайт Spring MVC будет сильно зависеть от внешних JavaScripts / CSS / Images. Этот домен должен быть настраиваемым. Кроме того, я хотел бы иметь возможность бросать такие части, как мой верхний и нижний колонтитулы в JSP, которые могут быть включены. При добавлении изображения в JSP мне нужно иметь возможность сгенерировать ссылку на изображение, используя настраиваемый внешний статический домен контента.

Мое решение до сих пор:

Пока я думаю, что могу использовать комбинацию шаблонов JSP, которые будут загружать классы конфигурации, которые выводят мои значения конфигурации (чтобы JSP могли использовать эти значения конфигурации). Я предполагаю, что единственная проблема, с которой я действительно сталкиваюсь, заключается в том, что теперь мне требуется, чтобы все мои JSP импортировали шаблон, а затем импортировали эти классы конфигурации для доступа к статическому URL-адресу содержимого.

Мой вопрос:

Имеет ли смысл мое решение, изложенное выше? Это действительно лучший подход? Что люди обычно делают, чтобы решить эту проблему? Какие еще решения доступны для абстрагирования и повторного использования компонентов JSP?

Примечания:

  • Я использую Spring MVC 3 ... Я немного новичок в Spring и MVC в целом
  • Это не слишком большой сайт ... и при этом это не будет использоваться в полном объеме производственная среда.

1 Ответ

4 голосов
/ 07 ноября 2010

Spring MVC отлично подходит для партии C , довольно неплохо для M , но немного непривычно для V . Он делегирует все обязанности просмотра другим фреймворкам, обычно это JSP / Freemarker / Velocity. В большинстве случаев это нормально, так как эти структуры представлений предоставляют множество механизмов для сборки составных представлений. Хотя они довольно простые.

Однако иногда вам нужно что-то более строгое, например, Tiles или Sitemesh . Эти фреймворки специализируются на сборке веб-представлений из составных частей и в основном независимость от инфраструктуры MVC, с которой они работают.

Spring MVC не поможет и не помешает вам использовать эти фреймворки, и они довольно хорошо интегрируются друг с другом (в любом случае, SiteMesh не очень знаком с Tiles, но я слышал, что он хорошо работает).

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