2016-11-23 8 views
-1

コントローラからのインタラプタのafter()アクションにパラメータを渡す必要があります。どうやってやるの?コントローラからInterceptorのafter()アクションへのパラメータをGrails 3.xで渡す

+0

このアクションは、それが迎撃する前のヒットれるアクション2に送信模倣別のアクションを作成して、あなたは後にインターセプタを打つ有効である - 私はあなたがおそらく妥当性ではなく、迎撃を必要と意味/考える - 問題が戻って失敗した場合{フォームを表示するかどうかを確認してください}またはOKをクリックして次のステップに進んでください - 検証はそのためのものです – Vahid

+0

最良の解決策は、情報が何であるか、ビューからアクセス可能にする必要があるかどうか、それと一緒にやりたい –

+0

Interceptorでafter()アクションでモデル化する必要があるビューで、そのparamを表示したいとします。 – thagunnaHarish

答えて

0

あなたは、インターセプタの終了前に利用可能なリクエストとレスポンスオブジェクトがありますが、リクエスト/レスポンスオブジェクトのスコープは、モデルオブジェクトを引数とするafter closureの実行時に終了します。

class YourInterceptor { 
    boolean before(){ 
    //code before reaching respective controller 
     return true 
    } 
    //this part is executed before the view is rendered, 
    def afterInterceptor = { model -> 
     def myParam = model.yourParam; 
    } 
} 

You can set the model object used above in your controller as 
public class YourController { 
    //your controller logic 
[yourParam: paramValue] // this map is the model object which contains `the data for your view, this object is the model object that is used in after closure of interceptor.` 
} 
+0

コントローラからafter()メソッド(モデルに設定)にクライアント固有のパラメータを渡して最後に表示する必要があるので、ここで問題が発生しました。ここでは、特定のユーザーにアクセスできない場合にログインページ自体から戻る必要があるため、セッションは開始されていません。この問題は、シングルサインオンシステムで発生し、ユーザーはクライアントにアクセスできますが、別のクライアントにはアクセスできません。 – thagunnaHarish

関連する問題