如何使用包名来区分grails中的类?

如何使用包名来区分grails中的类?,grails,Grails,您可以使用包名来区分grails中的类吗 e、 g.com.business.appName.DomainClass和com.business.appName.foo.DomainClass 我认为这会导致问题,因为grails需要唯一的类名。如果尝试此操作,则在尝试生成com.business.appName.foo.DomainClass的视图时,它会尝试覆盖com.business.appName.DomainClass的视图GSP 有没有办法在不同的包中使用相同的域名类名?如果gsp中存

您可以使用包名来区分grails中的类吗

e、 g.com.business.appName.DomainClass和com.business.appName.foo.DomainClass

我认为这会导致问题,因为grails需要唯一的类名。如果尝试此操作,则在尝试生成com.business.appName.foo.DomainClass的视图时,它会尝试覆盖com.business.appName.DomainClass的视图GSP


有没有办法在不同的包中使用相同的域名类名?

如果gsp中存在问题,请尝试在顶部声明

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

编辑: 生成视图时是否尝试指定包

grails生成视图com.business.appName.foo.DomainClass


抱歉,我是Grails的新手,因此可能无法为您提供更多帮助:(

问题是控制器名称必须是唯一的。在不同的包中为具有相同名称的两个域类运行“generate controller”或“generate all”会在各自的包中创建两个不同的控制器,但它们都将映射到/yourapp/domainClass URL,并且都将共享grails app/views/domainClass GSP fol德


无论如何,您都需要重命名其中一个控制器,因为即使在不同的包中也不能有两个同名的控制器,而且即使在URLMappings中也无法修复这一问题,因此,如果您希望使用生成的代码,最好是生成第一个集,将控制器和视图移开,然后生成第二个集。然后重命名一个或两个控制器,使它们具有唯一的URL,并重命名相应的GSP文件夹。

您的问题来自GSP或控制器?看起来这将在Grails 2.0中解决。您误解了这个问题。有两个域类具有相同的名称,但在不同的包中。当您生成vi时ews生成第二个域类的视图将覆盖第一个域类的视图。