MVC и Java-EE - PullRequest
       47

MVC и Java-EE

0 голосов
/ 16 июля 2011

В течение многих лет я сильно привязывался к шаблону проектирования Model-View-Controller и его преимуществам. Но я изо всех сил стараюсь в полной мере использовать эти преимущества, когда речь идет о веб-приложениях.

Если бы я создал компонент UsersComponent, который состоит из:

  • список пользователей
  • текстовое поле, которое активно фильтрует этот список пользователей

Тогда в Java Swing вы можете легко создать класс UserComponent, который расширяет JPanel, а внутри UserComponent вы можете моделировать, просматривать и контролировать классы. И в итоге вы получите очень легко используемый компонент.

Теперь я хотел бы подражать этому в Java-EE. Строковые шаблоны, кажется, обеспечивают решение для этого. НО, с добавленным поворотом. Мне нравятся веб-дизайнеры. И я хотел бы предоставить им возможность добавлять компоненты, не прибегая к помощи разработчика и не обращая внимания на то, какую точку входа они должны использовать.

Например, допустим, у нас есть шаблон базовой страницы, и дизайнер хочет добавить компонент UserComponent где-нибудь на этой странице. Затем вам нужно будет заполнить модель, в большинстве случаев на основе некоторых параметров запроса.

Итак, вот актуальный вопрос. Кто-нибудь знает способ определения, какие шаблоны включены в данный шаблон. Таким образом, вы могли бы проанализировать этот шаблон во время выполнения (или, точнее, каждый раз, когда он был изменен) и выполнить соответствующую служебную работу в контроллере главной страницы?

В принципе, чтобы я мог выполнить это:

  • Дизайнер создает шаблон строки. Скажи, MyPage.st
  • Переписать изменения модуля www.mydomain.com/IgnoredFolderNameForSeo/MyPage на www.mydomain.com/pagerenderservlet?templateName=MyPage
  • сервлет рендеринга страницы загружает шаблон строки на основе параметра, анализирует его, чтобы определить, какие компоненты используются в шаблоне строки, и инициализирует их при необходимости.

В настоящее время лучшее решение, которое мне удалось найти, - это иметь разные сервлеты для разных базовых страниц, которые предоставляют разные подмножества функций. Но я совсем не доволен этим решением. Было бы намного аккуратнее, если бы была возможность обрабатывать его динамически. По сути, наличие обработчиков для ВСЕХ поддерживаемых компонентов, но только инициализация / обработка тех, которые действительно необходимы.

Мне бы очень хотелось услышать ваши мысли парней по этому поводу:)

** ОБНОВЛЕНИЕ **

Я думаю, что мои упоминания о качелях немного запутали этот вопрос. Я хотел бы создать компоненты, доступные для веб-дизайнеров через шаблоны строк, которые они затем могут включить в любой шаблон строки.

Так что я полагаю, все сводится к этому.

Известно ли любому телу каркас шаблона строки, который позволяет мне определить во время выполнения, какие другие шаблоны строки включены в шаблон строки.

Ответы [ 2 ]

2 голосов
/ 16 июля 2011

Я не уверен, что понимаю ваш вопрос: вы уже пробовали такие фреймворки, как Struts 2, Spring MVC или JSF?

Вам что-то не хватает в этих фреймворках?

0 голосов
/ 16 июля 2011

Если вы хотите сделать веб-Swing-подобную разработку с MVC (или MVP), вам следует попробовать GWT

...