在工作中,我们正在讨论升级我们的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