在控制器中访问特定的Grails Params

时间:2013-07-10 09:34:39

标签: java grails controller params

这可能是一个简单的Java和Java相关而不是grails但我有点迷失,不知道从哪里开始看这个,我已经google了但我不确定我在追求什么,所以如果可能,请欣赏指针!

在grails应用程序中,我有一个表格,我保存,一切都很好。在控制器中,我可以看到它通过一个简单的println返回的参数列表,当我想找到一个特定的值时,我会做一个params.each,然后将键与预定义的字符串进行比较,找到我想要的那个,我的问题是: -

我可以,我将如何具体说“用”香蕉“键获取参数的值,而不是必须遍历整个列表才能找到它?

还有一种方法可以创建一组新的二级参数,或者只是另一个普通的老字典项(是正确的术语吗?),我用正则表达式说“给我所有与其关键匹配的项目”模式“XYZ”?

速度方面可能没什么大不同,因为params从来没有那么大但是在可能的情况下让事情更有效率会很好。

任何反馈都非常感谢!

2 个答案:

答案 0 :(得分:1)

对于第一个问题,要获得'banana'参数,您必须使用:

params.banana

第二,用regexp查找所有内容:

def matched = params.findAll { it.key =~ /XYZ/ }
//or
Pattern p = ~/XYZ/
def matched = params.findAll { p.matcher(it.key).matches() }

答案 1 :(得分:1)

你可以使用一个params对象。例如,使用someurl.com?myparam=test,您可以使用“params.myparam”访问它

此处提供了更多信息:http://grails.org/doc/2.2.x/ref/Controllers/params.html