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

Play Framework: Как изменить настройки по умолчанию?

Мне просто интересно, можно ли поменять пакеты по умолчанию из Play. Например: я хочу изменить пакет "контроллеры" на "com.test.controllers". Я не знаю, имеет ли это смысл, но я просто хочу знать, как это возможно. Я не нашел ничего связанного с этим на сайте игры.

4b9b3361

Ответ 1

Обновлен, чтобы сделать различие между play1 и 2 clear.

Для Play 1.x это невозможно.

Нет, все контроллеры должны быть в пакете или подпакетах контроллеров. Если вы хотите сохранить структуру пакета com.test, вы можете сделать controllers.com.test

Для получения дополнительной информации см. эту тему.

Для Play2.x это возможно.

Итак, простой ответ: это зависит от версии игры, которую вы используете.

Ответ 2

В соответствии с текущей Play 2.0, теперь это возможно:

Обратите внимание, что в Play 2.0 соглашения об именах контроллеров, моделей и представлений теперь просто такие и могут быть изменены, если необходимо (например, префикс для всех с помощью com.yourcompany).

Это хорошо работает для пустого приложения Play, однако есть некоторые детали, которые необходимо учитывать для чего-либо еще:

  • Импорт пользовательских пространств имен в шаблоны просмотра будет работать для любых типов, кроме тех, которые объявлены в первой строке шаблона, которые являются аргументами для функции отображения scala, которая генерируется из представления. Наше обходное решение состоит в том, чтобы добавить полное имя пакета для ввода объявлений в первой строке шаблонов.
  • Для каждого пространства имен, определенного в файле маршрутов (например, пользовательский пакет и пакет по умолчанию для маршрута Assets), Play 2.0 генерирует соответствующий исходный файл маршрута в одном и том же пространстве имен, поэтому вам нужно позаботиться о том, чтобы обратиться к правильному файлу когда, например, перенаправление.

Ответ 3

Из руководства :

Класс контроллера должен быть определен в пакет контроллеров и должен быть подклассом play.mvc.Controller.

Вы можете добавить пакет Java до Имя класса контроллера, если оно не является определенные непосредственно под контроллерами пакет. Пакет контроллеровсам подразумевается, поэтому вам не нужно для его указания.

Это означает, что вы не можете изменить свой пакет controllers на com.test.controllers (поскольку корневой пакет должен быть controllers), но вы можете изменить его на controllers.com.test.

Ответ 4

Здесь обсуждается .

Также есть this в FAQ.