The problem is that although you can use packages for any artifact, the convention for controllers is to remove the package and the โControllerโ to create URLs, for example. PersonController -> / appname / person / action_name. Thus, as a result, everything is smoothed out.
In 1.2 and more, so 1.3 has changed, so the plugins are compiled separately from the application code (and compiled in the first place), and this gives you the opportunity to replace the plugin artifact with the version of the application. Since you do not have to edit the plugin code, this gives you the opportunity to extend or replace the plugin artifact using the same name.
I usually use UrlMappings to get around this when there are two similarly named controllers. For example, you have a UserController administrator who allows you to perform low-level CRUD actions and the usual UserController that users work with. I would call the administrator AdminUserController and map it to / admin / user / * and leave UserController as it is. The administrator GSP will be in views / adminUser, and the rest will be in views / users so that there are no conflicts. This has the additional advantage of being able to easily protect - map / admin / ** โ ROLE_ADMIN. The conventions are convenient, but this is a simple configuration step that solves this problem for me.
The good news is that the GRAILS-1243 will definitely be implemented in version 2.0 and possibly version 1.4. And the plugin quoted by Kim Betty in the comments of GRAILS-1243 looks interesting.
Burt beckwith
source share