如何返回groovy映射键

时间:2014-06-26 23:17:01

标签: groovy

我有一个属性映射已传递给taglib,并且只想找到以"数据开头的键 - "在他们中间。

实施例: 在我的 gsp 文件中,我使用了这个

<me:myInput name="my-name" id="my-name" data-minlength="5" data-len="1"/>

标签库

static namespace = "me"
Closure myInput = { attrs ->
  def dataMap = attrs.keySet()
}

所以上面会将所有键都添加到dataMap中。我只想要那些有数据的人 - &#39;在他们面前添加不是其他人。

我还想删除数据 - &#39;在我将它存储在dataMap之前。 数据图应该看起来像这样。

dataMap = ['required', 'len']

任何人都知道如何在groovy中解决这个问题。

1 个答案:

答案 0 :(得分:1)

有很多方法可以解决这个问题。

matchingKeys = map.keySet().findAll { it.startsWith('data-') }.collect { it[5..-1] }

matchingKeys = map.keySet().findAll { it.startsWith('data-')}*.getAt([5..-1])

matchingKeys = map.keySet().findAll { it.startsWith('data-') }.collect { it - 'data-' }

我希望有所帮助。