Как использовать имя пакета, чтобы различать классы в Grails? - PullRequest
2 голосов
/ 04 марта 2010

Можете ли вы использовать имя пакета, чтобы различать классы в Grails?

например. com.business.appName.DomainClass и com.business.appName.foo.DomainClass?

Я думаю, что это вызывает проблемы, поскольку Grails нужны уникальные имена классов. Если вы попробуете это, то попытаетесь переписать gsps представления для com.business.appName.DomainClass при попытке создать представления для com.business.appName.foo.DomainClass

Есть ли способ иметь одно и то же имя класса домена в разных пакетах?

Ответы [ 2 ]

3 голосов
/ 04 марта 2010

Проблема в том, что имена контроллеров должны быть уникальными. Запуск «generate-controller» или «generate-all» для двух классов домена с одним и тем же именем в разных пакетах создает два разных контроллера, каждый в своем собственном пакете, но они оба сопоставляются с URL-адресами / yourapp / domainClass и совместно используют оба папка GSP grails-app / views / domainClass.

Вам все равно нужно будет переименовать один из контроллеров, поскольку у вас не может быть двух с одинаковым именем даже в разных пакетах, и вы не можете это исправить даже в URLMappings, поэтому это выглядит как ваш лучший выбор, если вы хотите использовать сгенерированный код для генерации первого набора и перемещения контроллера и представлений в сторону, а затем для генерации второго набора. Затем переименуйте один или оба контроллера, чтобы у них были уникальные URL, и переименуйте соответствующие папки GSP.

0 голосов
/ 04 марта 2010

Если в вашем gsp есть проблема, попробуйте объявить сверху

<%@ page import="com.thePackageIWant.TheClassIWant" %>

Edit: Вы пытались указать пакет при создании представлений?

grails generate-views com.business.appName.foo.DomainClass

Извините, я новичок в Grails, поэтому я не смогу помочь вам больше: (

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