Blog

ColdBox Free Tip 4 - Using a Struct for Query Strings

Maria Jose Herrera October 22, 2024

Spread the word

Maria Jose Herrera

October 22, 2024

Spread the word


Share your thoughts

102 ColdBox Tips and Ticks by Luis Majano

How to make your code easier to read and manage with ColdBox?

ColdBox gives you powerful ways to build cleaner, more maintainable code, especially when dealing with query strings. In this tip, we’ll explore how to pass a struct into the buildLink() method, making your code easier to read and manage.


Using a Struct for Query Strings

Instead of manually crafting query strings like this:

<a href="users.editor?id=3&format=plain">My Link</a>

You can let ColdBox do the work for you! By passing a struct to the queryString argument of the buildLink() method, ColdBox will automatically convert it into a properly formatted query string. It makes your code more readable and easier to maintain.

Here’s an example:


<a href="#event.buildLink( 'users.editor', { id:3, format:'plain' } )">
My Link</a>

ColdBox will flatten the struct into the query string ?id=3&format=plain for you. It’s cleaner, easier to read, and less error-prone than manually concatenating strings.


Why Use a Struct for Query Strings?


  • Cleaner code: Using structs keeps your links more organized and reduces the clutter of inline query strings.
  • Easier maintenance: You can quickly add or remove parameters from the struct without having to worry about formatting the query string manually.
  • Flexibility: ColdBox handles the conversion for you, so you can focus on writing code instead of worrying about URL structure.

Give it a try in your next project, and see how much cleaner your code can be! Stay tuned for more tips and tricks to boost your ColdBox development.


Learn More ColdBox Tips and Tricks

Stay tuned for more ColdBox tips in our ongoing series. if you want to learn more than 10 free tips and tricks make sure to get your “ColdBox 102 tips and tricks book” We have a variety of formats you can choose from.

Get your Copy

Add Your Comment

Recent Entries

Introducing the BoxLang Spring Boot Starter: Dynamic JVM Templating for Spring

Introducing the BoxLang Spring Boot Starter: Dynamic JVM Templating for Spring

Spring Boot developers know the pain of evaluating view technologies. Thymeleaf is great — until you need more expressiveness. FreeMarker is powerful — until the syntax fights you. What if you could write templates in a dynamic JVM language that gives you the full power of the platform, feels natural, and requires zero setup to integrate?

Meet the BoxLang Spring Boot Starter.

Luis Majano
Luis Majano
March 13, 2026
Why Swiss Banks Are Modernizing CFML Platforms Without Rewrites

Why Swiss Banks Are Modernizing CFML Platforms Without Rewrites

The growing need to evolve legacy financial platforms safely

Many Swiss banks and financial institutions still operate important systems built on ColdFusion and CFML platforms.

These systems manage a wide range of functions, including:

  • internal banking workflows
  • reporting systems
  • client portals
  • data integration platforms
  • compliance and risk management tools

In many cases, thes...

Cristobal Escobar
Cristobal Escobar
March 13, 2026
Reactive vs Proactive ColdFusion Support: Why Waiting for an Outage Is the Most Expensive Strategy

Reactive vs Proactive ColdFusion Support: Why Waiting for an Outage Is the Most Expensive Strategy

Many ColdFusion environments operate in a reactive mode without realizing it.

Everything seems fine… until something breaks.

A server crashes.

Performance drops suddenly.

An integration stops working.

A security audit reveals missing patches.

At that point the response is urgent:

“Can someone help us fix this now?”

Emergency support is sometimes unavoidable. But when reactive intervention becomes the norm, it usually means something deep...

Cristobal Escobar
Cristobal Escobar
March 12, 2026