views:

50

answers:

2

Hi,

I'm trying to pass the value "1" into a Grails tag. However, it turns out to be an integer value of 49 - the ascii value for "1". How do I convert this to the proper value in Groovy?

+1  A: 

Actually, there's a "toInteger()" function on a String.

Jack BeNimble
A: 

To add to Jack BeNimble's comment, if you are using 1.2 (release of which is imminent), you also have null-safe converters to int (i.e. params.int('value'), which will do

From Release Notes.

Convenient, null safe converters in params and tag attributes

New convenience methods have been added to the params object and tag attrs objects that allow the easy, exception safe and null safe conversion of parameters to common types:

def total = params.int('total')

There are methods for all the common base types such as int@, @long@, @boolean and so on. There is a special converter called list that always returns a list for cases when dealing with one or many parameters of the same name:

def names = params.list('names')
Jean Barmash