Подтвердить что ты не робот

Где находится JavaScript в шаблоне MVC веб-приложения?

Я все еще смущен тем, где код JavaScript находится в шаблоне MVC при создании веб-приложения. Я думал, что это сработало.

  • Модель - это база данных и классы, необходимые для получения данных в/из них.
  • Контроллер будет классом, где я пишу свою логику то есть Java-сервлеты, которые принимают Ajax, а затем позвонить базы данных;
  • Вид - это страница JSP, которая возвращается к запросу Ajax через сервлет (мой контроллер)

Поскольку код JavaScript скомпилирован в браузере, я думаю об этом как о части представления, но он обрабатывает пользовательские входы, делая запросы на сервере на основе этих событий, а затем возвращает данные на страницу, так что это также будет сделано в части Контроллер?

Также, что это значит, когда они ссылаются на модель домена в MVC?

4b9b3361

Ответ 1

JavaScript будет в первую очередь связан с пользовательским интерфейсом; ваше представление делает запрос ajax контроллеру. Контроллер не делает запрос ajax; ни модель. Для всех целей и задач запрос ajax не отличается от обычного запроса; это просто, что браузер не висит, пока ваш ответ не будет возвращен.

JavaScript также выполняется в контексте вашего клиента, вне сферы действия вашего сервера, поэтому он должен войти в представление.

Ответ 2

MVC - всего лишь шаблон. Сам код JavaScript может реализовать этот шаблон, поэтому я не считаю его подходящим для какой-либо другой части шаблона рамки на стороне сервера. Проверьте Backbone для хорошего примера использования MVC в JavaScript-коде.

Вы можете сопоставить код JavaScript с аналогичными концепциями, с которыми вы моделируете код на стороне сервера. Сам код JavaScript будет отображаться в представлении вашего приложения на стороне сервера, но если вы только добавляете глазную конфету с кодом JavaScript (чего вы не знаете), то код JavaScript действительно является его собственным сущностью и не обязательно вписывается в парадигму MVC на стороне сервера.

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

Можно также использовать интерфейс Rich в javascript, поддерживаемый только источником данных. В этом случае javascript будет отвечать за поддержание моделей, представлений и контроллеров.

Модель домена обычно относится только к бизнес-логике вашего приложения. Мозги так говорят о том, что должно произойти в вашем приложении. Это своего рода абстрактная концепция, инкапсулирующая всю бизнес-логику приложения.

Ответ 3

Ник, мой личный опыт работы в MVC, работающий с Zend или Spring, я думаю, что код JavaScript будет рассматриваться как часть представления, так как код JavaScript помогает просматривать и напрямую взаимодействует с представлением. Передача и получение данных через Ajax можно рассматривать как запрос.

Ответ 4

Код JavaScript является частью представления. Представление - это то, что выводится в браузер, а в то время как код Javascript автоматически не имеет визуального внешнего вида, его можно использовать для изменения DOM.

Когда вы начинаете говорить об Ajax, легко увидеть код JavaScript как что-то еще в обычном потоке вещей, но вы должны разбить процесс запроса Ajax, чтобы увидеть его только другим HTTP-запросом.

Некоторые люди будут иметь контроллер только для Ajax-запросов, в то время как другие могут передать аргумент контроллеру, изображающему запрос Ajax для изменения вывода.

В любом случае, код JavaScript находится в представлении, и вам может потребоваться изучить некоторые другие стратегии разработки Ajax в настройке MVC.

Ответ 5

Если вы используете JavaScript для работы с DOM, да, это часть представления. Но вы все равно можете использовать JavaScript на стороне сервера, в этом случае он может быть частью кода, связанного с бизнесом.