ASP.NET Master Pages equivalent in Java在 Java Web 开发世界中,母版页等价物是什么?我听说过 Tiles、Tapestry 和 Velocity,但对它们一无所知。它们是否像母版页一样易于使用? 我想要一些简单的东西,比如设置一个模板,后续页面从模板派生并覆盖内容区域,类似于母版页。 任何例子都会很棒!! 您还应该查看 Facelets; DeveloperWorks 上有一篇很好的介绍性文章。 Facelets 要在另一个页面中填充 Facelets 模板,您需要从一个指向模板文件的 在 所以,把它们放在一起…… 在master.xhtml中:
在 page.xhtml:
这将呈现为:
您还可以通过 Facelets 获得其他一些好处,例如能够重用具有不同数据的页面组件。 (已编辑以提供更多信息。) 首先,在 Java 中相当于 ASP.Net 的将是一个 Web 框架,例如您提到的那些(Tiles、Tapestry 和 Velocity)。 母版页能够根据插入到主模板中的内容来定义页面。 母版页是 ASP.Net(.Net Web 框架)的一项功能,因此您正在寻找类似于 Java Web 框架中母版页的功能。 http://tiles.apache.org/framework/tutorial/basic/pages.html 给出了一些使用 Tiles 和 JSP 实现与 Java Web 框架 Struts 类似的基本示例。在这种情况下,母版页功能是 Struts 之上的一个插件。 Velocity 是一个通用的模板引擎,不是专门用于网页的,而且肯定比您需要的要复杂得多。 (我已经看到它用于代码生成。) Tapestry 比 Tile 更像是一个功能齐全的 Web 堆栈,并且可能更适合您的目的。它的模板功能包括创建一个组件并将所有常见的标记放入其中。一个示例位于 http://www.infoq.com/articles/tapestry5-intro。 具体情况根据您选择的 Java Web 框架而有所不同。 我在以前的项目中使用过 sitemesh,而且它很容易设置。本质上,您创建了与母版页等效的装饰器。然后,您定义哪些子页面使用哪些装饰器。有关详细信息,请参阅站点网格简介。 |