在工作中,我們正在討論升級我們的Web應用程序的視圖層。我們目前正在運行一箇舊的和經過修改的FreeMarker Classic版本,這是一個很難處理的問題。我們的一位開發人員建議使用類似於桌面風格環境的Component UI風格架構。用於Java Web應用程序的類似桌面的UI實現?
實質上,這意味着您將構建自定義HTML組件作爲控制器將呈現到文檔視圖中的Java類。這完全消除了將HTML寫入視圖圖層的需要。這些組件將爲您生成視圖圖層。
例如,下面呈現的HTML:
<h1>I am a title</h1>
<p>I am a paragraph.</p>
會做類似的東西產生:
String titleString = "I am a title";
html.elements.Heading heading = new html.elements.Heading(Heading.H1, titleString);
String paraString = "I am a paragraph.";
html.elements.Paragraph paragraph = new html.elements.Paragraph(paraString);
PrintWriter somePrintWriter = new PrintWriter();
Document document = new Document();
document.addElement(heading);
document.addElement(paragraph);
document.compose(somePrintWriter);
上面的代碼只是一個例子,不批判名稱或風格,我只是寫它來快速演示我們可能試圖完成的事情。我試圖確定這是否已經在Java中完成,如果有的話,如果有任何鏈接,我可以指出。我一直在儘可能多地研究它,但還沒有找到完全刪除模板層的任何實現(例如JSP或JSF)。
謝謝!
你不想要模板層嗎?我發表了一篇文章,但是當我讀到最後一句話時很快就刪除了它。 – MattC 2009-08-19 22:35:01
對,我們試圖看看是否可以完全消除模板,因爲控制器中的所有業務邏輯都可以處理視圖中呈現的內容。 – localshred 2009-08-19 22:42:24
許多答案都集中在完整的框架上。很高興看到,但我們更關心的是我們可以與現有系統集成的GUI工具包。 不知道它是否在那裏,但都一樣,只是想清楚。 – localshred 2009-08-19 22:58:42