4

I'm new to Grails , i'm using Grails version 2.3.4 , in my application i have 2 controllers

AppUser

and

ManageLicences

, in the AppUsers there is a method named auth and below its code :

def auth()
{
    if (!params.username.empty)
    {
  redirect  (controller: "manageLicences" , action:"checkLicense")
     }
}

In the checkLicense in the ManageLicense controller i'm doing some redirects depending on some conditions

def checkLicense {
if (someCondition) {
    redirect (controller:'manageLicences' , action:'list')
        }
    else {
        redirect  (controller:'appUsers' , action:'login' )

        }
}

, the problem is that when my application reaches

 redirect  (controller: "manageLicences" , action:"checkLicense")

in the AppUsers controller , rather going to the redirect that in checkLicense , the URL in the browser will be

http://localhost:8080/MyApplication/manageLicences/checkLicense

and blank page , any advice ?

Nathan Hughes
  • 94,330
  • 19
  • 181
  • 276
SShehab
  • 1,039
  • 3
  • 17
  • 31

2 Answers2

4

Check that you're not doing redirect from a namespaced controller to a controller that is not in a namespace.

According to Grails Documentation:

Redirects the current action to another action, optionally passing parameters and/or errors. When issuing a redirect from a namespaced controller, the namespace for the target controller is implied to be that of the controller initiating the redirect. To issue a redirect from a namespaced controller to a controller that is not in a namespace, the namespace must be explicitly specified with a value of null as shown below.

class SomeController {
    static namespace = 'someNamespace'
    def index() {
        // issue a redirect to PersonController which does not define a namespace
        redirect action: 'list', controller: 'person', namespace: null
    }
}
Community
  • 1
  • 1
Tomasz Janek
  • 1,135
  • 9
  • 5
0
def checkLicense {
    if (someCondition) {
        redirect (controller:'manageLicences' , action:'list')
        return
    } else {
        redirect  (controller:'appUsers' , action:'login' )
        return
    }
}
Gnt.Lee
  • 11
  • 2