2014-04-23 63 views
1

我得到params.user返回列表。Grails計數字符串長度

例:

params.user = 10 20 

然後我用

params.user.each { id -> 
    } 

然後ID具有價值:

id = 10, id = 20 

params.user只返回10,遍歷它,我得到10。 所以我的想法是算params.userlength(),把條件

if (params.user == 1){ 
//to do something 
} 

但是,當我使用params.user.length(),它將返回2,我需要它返回1。請幫助

+5

使用'params.list'('user')',返回一個列表,在你的情況下可以是'[10,20]'或'[10]'。 – dmahapatro

+0

感謝兄弟,哈哈的東西需要學習:) –

回答

2

當你想使用保留PARAMS地圖,你實際上使用一個地圖。當然,當你做params.myParams.length()時,你會得到你的String值的長度。

但Grails提供了從param映射中獲取數據的工具。有關列表使用:

List myList = params.list('user') 

Grails提供其他的方式來攫取其他類型的數據:

def intValue = params.int('paramInt') 
    def shortValue = params.short('paramShort') 
    def byteValue = params.byte('paramByte') 
    def longValue = params.long('paramLong') 
    def doubleValue = params.double('paramDouble') 
    def floatValue = params.float('paramFloat') 
    def booleanValue = params.boolean('paramBoolean') 

最後但並非最不重要的,如果你要綁定複雜的數據,不要忘記使用命令對象;)