user3028981
user3028981

Reputation: 91

Get request URL from grails controller

My grails controller gets invoked by the following URLs

/center/madrid/12-de-octubre
/center/madrid/12-de-octubre?opt=1

I need the controller to behave differently if there are any parameters after the ? in the URL

I have the following URL mapping:

   name center: "/center/$_uni_city/$_uni_facility_name" {
        controller = "site"
        action = "centerprofile"
} 

While I can find all parameters (e.g. _uni_city=Madrid, opt=1) I am unable to determine which parameters come from the querystring after applying URLMappings (i.e. opt in the example above).

Is there a way to retrieve the original request URL (i.e.
/center/madrid/12-de-octubre?opt=1) in the grails controller?

Upvotes: 4

Views: 6537

Answers (2)

Tomáš
Tomáš

Reputation: 2108

See description of Grails request.

  • forwardURI - Useful for obtaining the current request URI since the request objects requestURI property returns the original URI, not the matched one.

Solution:

class URLController{
  def printCurrentUrl = {
   render request.forwardURI
  }
}

Upvotes: 5

user3028981
user3028981

Reputation: 91

To get the original parameters in the request URL use:

request.queryString 

Upvotes: 5

Related Questions