Building Routable Links

In your views, layouts and handlers you can use the buildLink method provided by the request context object (event) to build routable links in your application.
* Builds links to events or URL Routes
* @to The event or route path you want to create the link to
* @queryString The query string to append which can be a regular query string string, or a struct of name-value pairs
* @translate Translate between . to / depending on the SES mode on to and queryString arguments. Defaults to true.
* @ssl Turn SSl on/off on URL creation, by default is SSL is enabled, we will use it.
* @baseURL If not using SES, you can use this argument to create your own base url apart from the default of index.cfm. Example:
string function buildLink(
queryString = "",
boolean translate = true,
boolean ssl,
baseURL = ""
Just pass in the routed URL or event and it will create the appropriate routed URL for you:
<a href="#event.buildLink( 'home.about' )#">About</a>
<a href="#event.buildLink( '' )#">Edit User</a>

QueryString Struct

The queryString argument can be a simple query string or a struct that represents the query variables to append.
<a href="#event.buildLink( 'home.about', "page=2&format=simple" )#">About</a>
<a href="#event.buildLink( 'home.about', { page : 2, format: "simple" } )#">About</a>

Named Routes

Please note that the to argument can be a simple route path, but it can also be a struct. This struct is for routing to named routes. Even though we recommend to use the route() method instead.
event.buildLink( {
name : "routeName",
params : { ... }
} )
event.route( "routeName", { ... } )

Inspecting The Current Route

The request context object (event) also has some handy methods to tell you the name or even the current route that was selected for execution:
  • getCurrentRouteName() - Gives you the name of the current route, if any
  • getCurrentRoute() - Gives you the currently executed route
  • getCurrentRoutedURL() - Gives you the complete routed URL pattern that matched the route
  • getCurrentRoutedNamespace() - Gives you the current routed namespace, if any