我有一个属性映射已传递给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中解决这个问题。
答案 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-' }
我希望有所帮助。