簡體   English   中英

Grails 3.3.9:轉發副本參數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM