如何正确处理具有两个相同参数且具有相同值的URL?

时间:2010-09-09 08:39:08

标签: grails grails-controller

使用Grails 1.3.3,请求url链接时:

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

然后params注入值到Grails控制器将包含:

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

我认为params.p1等于'v1',不是吗?

无论如何,有没有办法改变这种行为?

谢谢。

3 个答案:

答案 0 :(得分:1)

我同意@Andrew,但你必须

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

答案 1 :(得分:0)

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

答案 2 :(得分:0)

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