Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/368.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 访问控制器中的特定Grails参数_Java_Grails_Controller_Params - Fatal编程技术网

Java 访问控制器中的特定Grails参数

Java 访问控制器中的特定Grails参数,java,grails,controller,params,Java,Grails,Controller,Params,这可能是一个简单的例子,而且比grails更与Java相关,但我有点迷茫,甚至不知道从哪里开始看这个,我在Google上搜索过,但不确定我要找什么,所以如果可能的话,请给我一个指针 在grails应用程序中,我保存了一个表单,一切都很好。在控制器中,我可以通过一个简单的println看到它返回的参数列表,当我想找到一个特定的值时,我现在做一个params。然后将每个键与一个预定义的字符串进行比较,以找到我想要的,我的问题是:- 我可以,我将如何,明确地说“用键“banana”获取参数的值,而不是

这可能是一个简单的例子,而且比grails更与Java相关,但我有点迷茫,甚至不知道从哪里开始看这个,我在Google上搜索过,但不确定我要找什么,所以如果可能的话,请给我一个指针

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

我可以,我将如何,明确地说“用键“banana”获取参数的值,而不是通过循环整个列表来找到它

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

在速度方面,这可能没有多大区别,因为参数从来没有那么大,但如果可能的话,让事情变得更有效率会更好


非常感谢任何反馈

对于第一个问题,要获取“香蕉”参数,必须使用:

params.banana
第二,使用regexp查找全部:

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

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


更多信息请点击此处:

抱歉,我可能有点糊涂,我查看了链接,但没有真正了解如何做我想做的事情,我想在控制器内进行查询,并想知道是否有方法获取特定的参数值(假设我知道键值是什么)不必逐一检查…非常感谢Igor这正是我所需要的!再问一个问题,我要查找的项目将读取events[n].id,我使用以下内容,但没有返回任何内容,我哪里出错了?`Pattern p=~/(events.)(\d+)(\w+)/def matched=params.findAll{p.matcher(it.key).matches()}匹配。每个{key,value->println(“find!”+key+“”+value)}`oops忽略我的模式是不正确的!:It’非常感谢,我非常感激!:)