[英]Java HTML View Engine with Master Templates and Sub Views
我正在拼命寻找一个能够满足三个主要要求的Java HTML视图引擎:
它用于Java Web应用程序,主要由只读页面和一些带有表单的页面组成。 我很可能将其与MVC框架结合使用。
主模板页面
HTML的主要结构应由HTML主页面定义。 不同的页面仅提供了放入主页面以创建最终页面的核心内容。 这不仅仅是包含页眉和页脚。
子检视
页面应该能够将其他HTML页面/模板用作其自身内容内的子视图。 它应该能够传递至少一个参数来提供子视图需要显示的数据。 此外,应该有可能在子视图中递归使用其他子视图。 同样,这超出了简单的包含机制。
没有后盾
HTML模板应包含一个文件,该文件基本上是HTML或XML页面,其中将根据提供的数据替换某些部分。 他们不需要任何其他(每个模板)配置文件。 而且,他们不需要实现任何Java类来进行支持。
我已经看过许多Java模板引擎。 但是它们似乎都不满足这些要求。 (在.NET世界中,带有Razor视图引擎的ASP.NET MVC会是一个完美的选择。)
更新:
到目前为止,我已经研究了以下引擎(请让我知道是否忽略了其中一种引擎来满足要求的方法):
更新(2):我更改了一个术语: 视图引擎而不是模板引擎 , 子视图而不是components 。
您还没有真正看过模板引擎。 JSP,Velocity和FreeMarker不是模板引擎(就您而言,它是模板引擎的意思)。 它们是允许动态生成标记并从Java对象获取要显示在生成的HTML中的数据的语言。 Tapestry是一个基于组件的完整的Web应用程序框架。
如果使用JSP生成HTML页面,则可以在JSP之上使用模板引擎,例如Tiles或SIteMesh,它们将处理模板,从而允许整个页面的每个“组件”有一个JSP。 如果没有诸如Stripes,Spring MVC或Struts2之类的Web MVC框架,通常不应使用JSP。 所有这些都具有自己的模板支持,和/或支持集成另一个诸如SiteMesh或Tiles。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.