對於這個有點無知的問題,我很抱歉,但是我已經在過去的一週裏儘可能地自己研究了這個問題。我的最後一招是來這裏,因爲我知道堆棧溢出的人是最聰明的人。我在哪裏可以放置需要在Play Framework的所有網頁上運行的代碼?
我是一個ASP.NET傢伙,最近他們轉而使用Play,每個公司的授權。我有點迷路。 MVC對我來說是新的,ORM完全讓我害怕。
我已經瀏覽了playframework.org上的教程,雖然我能夠構建博客引擎,但我只是將他們的教程中的代碼抄錄到我自己的程序中,所以我不覺得我真的學會了任何東西。
現在我不得不寫一個.NET網站的PLay版本。所以在我的問題上。
在我的遊戲應用程序的每個網頁上,我需要運行一些Java代碼來生成一個巨大的HTML字符串,然後將該HTML字符串吐在視圖上某個標籤上。這就像一個100行函數,它最終返回一個字符串,我把它呈現給客戶端。在我的.NET網站中,我只是把它放在我的母版頁的「代碼背後」。
問題是我在Play中的母版頁沒有代碼隱藏。那麼我在哪裏把所有需要在每個頁面上執行的這些java代碼?我開始研究控制器,但它不是一個我將轉發到渲染函數的對象,它是一個100行函數,它執行一堆邏輯並返回一個巨大的字符串。我在每個屏幕上都需要這些代碼,所以把它放在控制器級別是沒有意義的,因爲那樣我就必須每次都把它傳遞給「渲染」,而且我有100個動作。
如果你的代碼不是一個模型,並且在控制器中沒有意義,那麼你真的會提出更大的問題嗎?無論如何,先謝謝你。
乾杯 喬希
他還需要使用raw:$ {yourLabel.raw()},因爲該函數返回預呈現的HTML。 –
另外 - 應該對bigFunction進行保護,以防止它作爲操作暴露。 –
我不會反對,但你確定它是必要的嗎?當訪問/ bigFunction時,我得到一個404。 –