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.
1
/**
2
* Builds links to events or URL Routes
3
*
4
* @to The event or route path you want to create the link to
5
* @queryString The query string to append which can be a regular query string string, or a struct of name-value pairs
6
* @translate Translate between . to / depending on the SES mode on to and queryString arguments. Defaults to true.
7
* @ssl Turn SSl on/off on URL creation, by default is SSL is enabled, we will use it.
8
* @baseURL If not using SES, you can use this argument to create your own base url apart from the default of index.cfm. Example: https://mysample.com/index.cfm
9
*/
10
string function buildLink(
11
to,
12
queryString = "",
13
boolean translate = true,
14
boolean ssl,
15
baseURL = ""
16
){
Copied!
Just pass in the routed URL or event and it will create the appropriate routed URL for you:
1
<a href="#event.buildLink( 'home.about' )#">About</a>
2
<a href="#event.buildLink( 'user.edit.id.#user.getID()#' )#">Edit User</a>
Copied!

QueryString Struct

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

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.
1
event.buildLink( {
2
name : "routeName",
3
params : { ... }
4
} )
5
6
event.route( "routeName", { ... } )
Copied!

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