2010-09-09 79 views
0

使用Grails 1.3.3,请求URL链接时:如何正确处理具有相同参数两次相同值的URL?

/myapp/mycontroller/myaction?p1=v1&p2=v2&p1=v1 

然后PARAMS注入价值为Grails的控制器将包含:

assert params.p1== ['v1','v1'] 

这本来是合乎逻辑的,我认为params.p1等于“v1' ,不是吗?

在任何情况下,有没有办法改变这种行为?

谢谢。

+0

你的问题没有意义。什么是** params.myparam1 **?你没有在代码中,你只有** p1 **和** p2 **。你问是否** params.p1 **应该只有一个值结果而不是结果列表? – 2010-09-09 14:16:02

+0

对不起,这是一个输入错误:更新 – fabien7474 2010-09-09 15:31:34

回答

0

这是您的应用程序中的参数是两次的错误?大多数人会认为这应该意味着它有多重价值,因此它不会被认为是奇怪的行为。如果您不喜欢默认行为,您可以随时获取查询字符串并自行解析。

1

我同意@Andrew,但你必须

p1.unique()[0] == 'V1'

+1

问题不会失败,如果只有一个参数(p1),因为它不会是一个数组? – omarello 2010-09-10 20:04:49

0

我假设你不希望它拿起重复因为你不想在每个控制器动作中编写代码来处理这种特殊情况。我可以告诉你的唯一的事情就是不要在第一时间允许重复项,或者使用a filter截取请求并替换重复的参数值。

相关问题