如何正确处理具有相同参数两次相同值的URL?
问题描述:
使用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'
,不是吗?
在任何情况下,有没有办法改变这种行为?
谢谢。
答
这是您的应用程序中的参数是两次的错误?大多数人会认为这应该意味着它有多重价值,因此它不会被认为是奇怪的行为。如果您不喜欢默认行为,您可以随时获取查询字符串并自行解析。
答
我同意@Andrew,但你必须
p1.unique()[0] == 'V1'
+1
问题不会失败,如果只有一个参数(p1),因为它不会是一个数组? – omarello 2010-09-10 20:04:49
你的问题没有意义。什么是** params.myparam1 **?你没有在代码中,你只有** p1 **和** p2 **。你问是否** params.p1 **应该只有一个值结果而不是结果列表? – 2010-09-09 14:16:02
对不起,这是一个输入错误:更新 – fabien7474 2010-09-09 15:31:34