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

12 days of BoxLang - Day 3: SocketBox!

12 days of BoxLang - Day 3: SocketBox!

As BoxLang continues evolving into a modern, high-performance, JVM-based runtime, real-time communication becomes essential for the applications we all want to build: dashboards, collaboration tools, notifications, live feeds, multiplayer features, and more.

That’s where SocketBox steps in — the WebSocket upgrade listener built to work seamlessly with CommandBox and the BoxLang MiniServer. ⚡

Today, for Day 3, we’re highlighting how SocketBox supercharges BoxLang development by giving you fast, flexible, and framework-agnostic WebSocket capabilities.

Maria Jose Herrera
Maria Jose Herrera
December 12, 2025
12 Days of BoxLang - Day 2: CommandBox

12 Days of BoxLang - Day 2: CommandBox

BoxLang + CommandBox: The Enterprise Engine Behind Your Deployments

For Day 2 of our 12 Days of Christmas series, we’re diving into one of the most powerful parts of the BoxLang ecosystem: CommandBox the defacto enterprise servlet deployment platform for BoxLang.

If BoxLang is the language powering your applications, CommandBox is the engine room behind it all. ⚙️

Victor Campos
Victor Campos
December 11, 2025
12 Days of BoxLang - Day 1: ColdBox

12 Days of BoxLang - Day 1: ColdBox

ColdBox + BoxLang: The Future of Modern MVC on the JVM Welcome to Day 1 of the 12 Days of BoxLang

To kick off the series, we’re starting with one of the most powerful combinations in the Ortus ecosystem: ColdBox + BoxLang.

ColdBox has been the standard for modern CFML MVC development for over a decade. BoxLang is the next-generation dynamic language built for JVM and beyond. Together, they reshape how developers build web apps, APIs, microservices, CLIs, and soon desktop applications.

Let’s dive into why ColdBox 8 + BoxLang PRIME is a major milestone for the future of modern application development.

Maria Jose Herrera
Maria Jose Herrera
December 10, 2025