2016-04-22 17 views
0

我得到了一個網站沒有任何MVC,但普通的舊JSP和一些內聯類。 (如index.jsp調用頁面) 爲了測試目的,我可以使freemarker在單個jsp文件上工作。像配置,在同一頁面創建數據模型和template.process。Freemarker和JSP沒有MVC

我的問題是我不知道如何實現整個網站的freemarker。 喜歡做一次配置嗎? 在每個jsp中獲取相同的配置實例?所以我可以得到模板和過程

另外,我聽說< @include_page path =「path/to/some.jsp」/>只適用於FreemarkerServlet。我想知道我是否可以在我的情況下使用這個功能。

我沒有谷歌,喜歡每個結果都與servlet和mvc的東西有關。 希望這裏有人能給我一些想法。 T

非常感謝。

回答

0

您應該只有一個Configuration實例(如網頁渲染是一個目的,電子郵件渲染是另一個目的);這對性能至關重要。如果您正在從JSP頁面調用FreeMarker(如果我理解的很好),則可以將已初始化的Configuration對象置於應用程序作用域屬性(又名。SerlvetContext屬性)中。

@include_page是由FreemarkerServlet提供的自定義指令。但是,這只是一個自定義指令,您可以通過執行TemplateDirectiveModel來編寫另一個指令。棘手的部分是將servlet相關對象(如當前請求)傳遞給它。通常,您應該將自定義屬性放入freemarker.core.Environment對象中(請參閱其API),然後由於TemplateDirectiveModel收到Environment作爲參數,它可以從中讀出該定製屬性。

+0

我的帳號太新了,無法投票T_T – JoJo