Pagination links with a locale prefix in URLs Grails -


if you're using language prefix in url mappings such as

/$lang/$controller/$action?/$id? 

and urls generating contain parameters in addition lang parameter, you'll following url, additional param such offset:

/book/list?offset=10&lang=en 

but breaks mappings. instead, want url this:

/en/book/list?offset=10 

how can achieve that?

create following bean (assuming lang param called "lang"):

class langawareurlmappingsholderfactorybean extends urlmappingsholderfactorybean {      @override     public urlmappingsholder getobject() throws exception {         def obj = super.object         obj.default_controller_params = [urlmapping.controller, urlmapping.action,     "lang"] set         obj     }    } 

and adjust resources.groovy:

"org.grails.internal.url_mappings_holder"(langawareurlmappingsholderfactorybean) { bean ->     bean.lazyinit = true } 

and you'll get

/en/book/list?offset=10 

instead of

/book/list?offset=10&lang=en 

Comments

Popular posts from this blog

java - Jmockit String final length method mocking Issue -

asp.net - Razor Page Hosted on IIS 6 Fails Every Morning -

c++ - wxwidget compiling on windows command prompt -