2013-01-19 34 views
0

我可以使用請求使用方法(如setAttribute/setParameter)從FTL文件傳遞Object變量到Servlet嗎? 當我想將FTL的請求發佈到servlet時,沒有關於如何使用FTL和Servlet的明確文檔。使用FTL和Servlets

我的FTL文件需要提交給一個Servlet,我需要傳遞數據。

我正從前一個Servlet獲取數據到FTL文件中,但我堅持如何將它發送到下一個servlet。

這些servlet的每一個都對某些功能負責。

+0

FreeMarker API講述了Servlet(MVC)與.ftl文件的交互方式,對於反過來也不多談。我指的是這個URL:http://fmpp.sourceforge.net/freemarker/pgui_misc_servlet.html,這裏討論了會話/請求/應用程序範圍,但是隻能從Servlet一方設置用於FTL內部。它不會談論如果我需要更進一步! – Test

+0

現在我在第一個servlet中設置會話中的數據,它調用FTL,然後從FTL文件調用的第二個servlet中獲取會話中的數據。看起來我不能編輯FTL文件中的Request/Session/Application對象。 – Test

回答

1

模板只能用作MVC視圖,所以理論上你不應該這樣做。我的意思是直接操縱Servlet特定的東西,或者任何不是介紹問題的東西。如果您的架構需要像<@include_page .../>無法執行的方式調用其他servlet,請將其包裝爲自定義指令或自定義方法(TemplateDirectoveModelTemplateMethodModel接口),這些接口在查看模板時傳達高級含義,並隱藏Java實現內的大量技術細節,您可以在其中執行任何您想要的任務,因爲它是Java。看看include_page的實施可能是一個很好的起點。您可以將新指令或方法放入數據模型中,也可以將其作爲共享變量放入Configuration中,或者將其放入<#assign myDirective = 'com.example.MyDirective'?new()>的常用模板中。

+0

感謝您的輸入。 – Test