Links
Comment on page

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: https://mysample.com/index.cfm
*/
string function buildLink(
to,
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( 'user.edit.id.#user.getID()#' )#">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