2014-05-22 33 views
0

我想在播放模板中設置一個變量的值並在控制器中對其進行訪問。 例如,在homepage.scala.html,我想設置一個pageName變量值爲"homepage.scala.html"。 一旦我在播放模板中設置了這個值,我想在我目前使用Java的控制器中訪問它。如何在播放模板中聲明一個變量並在控制器中進行訪問?

如何存檔?

我將然後將控制器遷移到scala。如何訪問scala控制器中的pageName值?

爲什麼我要這樣做?: 我正在嘗試將Play Aloha編輯器應用到我的應用程序How to integrate the Aloha Wysiwyg Editor with Play! Framework。在這裏,當頁面上的靜態內容被編輯時,頁面名稱被傳遞給中央控制器,然後中央控制器修改實際的模板頁面,甚至修改消息資源以更新靜態內容。如果我不能或不應該將頁面名稱傳遞給控制器​​,那麼我該如何實現?

非常感謝。

+2

你不能,你也不想,這不是MVC的工作方式。應該出現的唯一的東西就是HTML。這聽起來像你在視圖中的邏輯屬於控制器。 – wingedsubmariner

+0

這聽起來像你想要對你的模板進行實時編輯。我認爲你可以通過客戶端的AJAX調用來實現這種控制方法,例如, ''public static Result index(){...}'&'public static Result updateIndex(){...}' – 2manyprojects

+0

FWIW我認爲^描述了你鏈接的樣例項目是如何工作的(基於30s的細讀代碼庫,所以我可以脫離base:patches歡迎)有一個控制器方法來呈現初始視圖,另一種方法是保存aloha更新。 – 2manyprojects

回答

0

在一般水平上,您的模板應該像純函數一樣工作,不包含任何狀態。但根據你的要求,假設你的觀點範圍爲views.html.homepage,你可以做一些類似於views.html.homepage.getClass.getName

相關問題