2012-01-04 32 views
1

在Play!中,我想在執行控制器操作後使用@Finally註釋記錄某些內容。但是,我需要從我發送到我的視圖的數據庫獲取一些數據。是否有可能在@Finally註釋的方法中訪問這些數據?在Play Framework中將數據傳遞給@Finally註釋的方法

,這是特別的方法:

@Finally 
private static void logSomething() { 
    //System.out.println("User: " + u.first_name); 
    System.out.println(response); 

    for (String key : response.headers.keySet()) { 
     System.out.println(key); 
    } 
} 

如何傳遞參數呢?如果我在定義中添加一個參數,它總是空的(因爲這個方法應該怎麼知道要傳遞哪些數據?)..所以有可能嗎?

回答

3

如果您將它發送到您的視圖,那麼它將從renederArgs地圖可用。

因此,假設你叫你在一些像這樣的方式渲染方法...

User user = User.findById(someId); 
render(user); 

那麼你應該能夠訪問它renderArgs如下

User user = (User)renderArgs.get("user"); 
+0

完美!它的工作,謝謝。 – philipDS 2012-01-04 18:58:31