0

重複の可能性:
Grailsのコントローラーアクション間でオブジェクトを渡すための最良の方法

私はコントローラーにdefshowを持っていますが、これは私が試した他のコントローラーのアクションショーへのオブジェクトとして情報を送信する必要があります

def show() {
        Person personDomainInstance = getPersonById(params.personId)

            redirect(controller: "NewPersonController", action: "show", personDomainInstance:personDomainInstance)
        }
    }

これを試してみると、要求されたリソース(/......./show)が利用できませんと表示されます。私はリダイレクトのための正しいアプローチに従っていますか?この方法でオブジェクトを渡すことはできますか??また、もう1つの質問は、personDomainオブジェクトをNewPersonDomainオブジェクトのドメインインスタンスオブジェクトにバインドする方法です。

4

2 に答える 2

1

あるコントローラーのインスタンス変数を別のコントローラーに渡すことはできません。ID を渡して、2 番目のコントローラーに再度ロードさせる必要があります。おそらく最初のロードからキャッシュされるため、キャッシュから取得され、実際に再ロードする必要はありません。

于 2012-04-22T21:25:59.437 に答える
0

少し前に同様の質問があり、最終的にオブジェクトを servletContext オブジェクトに追加しました。これをユーザーごとに変更する必要がある場合は、セッションに追加することをお勧めします。

サーブレットのコンテキスト情報 --> http://www.grails.org/doc/latest/ref/Controllers/servletContext.html

以前にこれを尋ねた完全なスレッド --> http://grails.1312388.n4.nabble.com/Passing-a-list-of-Groovy-Object-between-Controllers-td3551395.html

于 2012-04-22T21:31:06.783 に答える