使用 Grails 1.3.3,请求 url 链接时:
/myapp/mycontroller/myaction?p1=v1&p2=v2&p1=v1
然后 params 注入 Grails 控制器的值将包含:
assert params.p1== ['v1','v1']
对我来说,params.p1
等于 '是合乎逻辑的v1'
,不是吗?
无论如何,有没有办法改变这种行为?
谢谢你。
使用 Grails 1.3.3,请求 url 链接时:
/myapp/mycontroller/myaction?p1=v1&p2=v2&p1=v1
然后 params 注入 Grails 控制器的值将包含:
assert params.p1== ['v1','v1']
对我来说,params.p1
等于 '是合乎逻辑的v1'
,不是吗?
无论如何,有没有办法改变这种行为?
谢谢你。
我同意@Andrew,但你们必须
p1.unique()[0] == 'v1'
这是您的应用程序中参数为两倍的错误吗?大多数人会认为这应该意味着它具有多个值,因此不会被视为奇怪的行为。如果您不喜欢默认行为,您可以随时获取查询字符串并自行解析。
我假设您不希望它获取重复项,因为您不希望必须在每个控制器操作中编写代码来处理这种特殊情况。我唯一能告诉你的是首先不允许重复,或者使用过滤器拦截请求并替换重复的参数值。