[英]Grails 3.3.9: Forward copies params
我們正在從Grails 2.x遷移到3.x。 使用轉發功能時,我可以觀察到一些不同的行為:
class FooController {
def index() {
forward controller: 'foo', action : 'bar', params: params
}
def bar() {
render(
view: "/foo/foo"
)
}
}
當調用http:// localhost:8080 / foo?test = 1並停止在bar()
方法中時,我可以看到params
看起來像這樣:
params = {GrailsParameterMap@11597} size = 4
0 = {LinkedHashMap$Entry@11607} "test" ->
key = "test"
value = {String[2]@11612}
0 = "1"
1 = "1"
1 = {LinkedHashMap$Entry@11608} "controller" -> "foo"
2 = {LinkedHashMap$Entry@11609} "format" -> "null"
3 = {LinkedHashMap$Entry@11610} "action" -> "bar"
如您所見, test
的值兩次保存為String[]
。 此行為不同於Grails 2.5.6中的行為。 有沒有辦法為Grails forward
功能設置一個標志,以便不將參數傳遞給重定向控制器?
我認為您不需要添加param
。 forward
自動轉發您的參數。 它是可選的。 如果添加它,它將復制這些值。 僅嘗試:
forward controller: 'foo', action : 'bar'
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.