Parsing Numbers with Format Helper
Some tutorials on the internet recommend setting a variable $Integer to the constant of 0 and then calling parseInt method on it like this:
#set ($Integer = 0)
#if ($parameters.get("ItemsPerPage"))
#set ($ItemsPerPage = $Integer.parseInt($parameters.get("ItemsPerPage")))
#else
#set ($ItemsPerPage = 6)
#endThe problem is that $Integer.parseInt won't handle bad input gracefully. Instead the proper way to code this type of logic is:
#set ($ItemsPerPage = 6)
#if ($formatHelper.parseInteger($parameters.get("ItemsPerPage")))
#set ($ItemsPerPage = $formatHelper.parseInteger($parameters.get("ItemsPerPage")))
#if ($ItemPerPage < 1 || $ItemPerPage > 50)
#set ($ItemsPerPage = 6)
#end
#endNotice that we default to 6, if the parameter is parsable then we'll assign it's parsed value to the ItemsPerPage variable. We then sanity check the range of the value to make sure it's reasonable.