Javascript 在没有视图引擎的情况下重用类似html的模板

Javascript 在没有视图引擎的情况下重用类似html的模板,javascript,jquery,html,tiles,Javascript,Jquery,Html,Tiles,这是一个新的应用程序,将有几个服务器处理不同的部分(一个用于htmls,一个作为代理处理https请求,以及一个带有数据库的完整java后端)。视图服务器应该尽可能简单(一个提供htmls的apache服务器,仅此而已) 其想法是使用UI设计和创建的纯htmls(带JS)。现在,我考虑使用Jquery制作整个应用程序,方法是提取所有动态数据,并在js文件中附加关于如何处理ajax响应的逻辑 当我想重用htmls(所有页面的页眉、页脚和菜单都完全相同)时,我的问题就来了。例如,我可以调用/cont

这是一个新的应用程序,将有几个服务器处理不同的部分(一个用于htmls,一个作为代理处理https请求,以及一个带有数据库的完整java后端)。视图服务器应该尽可能简单(一个提供htmls的apache服务器,仅此而已)

其想法是使用UI设计和创建的纯htmls(带JS)。现在,我考虑使用Jquery制作整个应用程序,方法是提取所有动态数据,并在js文件中附加关于如何处理ajax响应的逻辑

当我想重用htmls(所有页面的页眉、页脚和菜单都完全相同)时,我的问题就来了。例如,我可以调用/contact.html,并通过ajax调用header.html、footer.html和menu.html。但这意味着只有主页有4个GET请求(另外,在所有请求完成之前,渲染可能会关闭)

我也不希望有一个完整的页面,因为如果我想更改菜单,我必须在每个html中进行更改

我还缺少别的选择吗?如果没有,这里最好的方法是什么(性能和维护在这里同样重要)

试试看。 Mixer2可以加载html模板并将其转换为JavaBean实例。 所有html标记和org.mixer2.xhtml.*java类都会自动逐个映射。
因此,您可以加载多个模板,如“header.html”、“footer.html”,并重新使用标记片段副本。

如果您创建的是单页应用程序,则不会有问题。我想你不是。在大多数情况下,页眉、页脚等将使用服务器端语言处理。除此之外,我认为您可以通过js函数创建页眉/页脚,并在每个页面上调用它。浏览器呈现HTML的速度比通过Javascript构建HTML的速度快(很多)。显然,您可以通过“哑”复制和粘贴在服务器上重复HTML元素,但这很繁琐,降低了可维护性。因此,我们有理由使用“智能”服务器端语言。事实上,单页应用程序可能是我没有考虑过的一种可能的解决方案。只有两个问题:a)我需要为每个页面提供不同的URL;b)每个页面都需要被谷歌索引。这些可能吗?