Java的HTML模板引擎,例如Genshi或Zope的TAL
-
02-10-2019 - |
题
我需要与网页设计师合作,所以...
你能建议我吗?
提前致谢
供参考:
这 模板属性语言 (TAL)是一种用于生成动态HTML和XML页面的模板语言。它的主要目标是简化程序员与设计师之间的协作。这是通过将TAL语句嵌入有效的HTML(或XML)标签中来实现的,然后可以使用通用设计工具来处理该标签。
Genshi是一个Python库,提供了一组集成的组件,用于解析,生成和处理HTML,XML或其他文本内容,以便在网络上生成输出。
主要功能是一种模板语言,对标记很聪明:与仅处理字节的传统模板语言不同,并且(如果幸运的话)字符,Genshi知道标签,属性和实际文本节点之间的区别,并使用该知识为了您的优势。
笔记:这里的关键功能是:
这是通过嵌入有效html(或XML)标签中的TAL(或Genshi)语句来实现的,然后可以使用常见的设计工具来处理该标签
示例:Genshi:
<div>
<b py:if="foo">${bar}</b>
</div>
塔尔:
<h1 tal:content="string:Some altogether different headline">
The headline visible to the designer
</h1>
解决方案
您也可以检查 apache挂毯. 。它更像是一个网络框架,而不是HTML模板引擎,但具有所需的功能。
其他提示
查看 freemarker 或者 Apache速度.
与Apache速度相比,Freemarker更为先进,但有点复杂。
我刚刚发现了关于百里美的有关(http://thymeleaf.org)。引用Duyhai的Java博客文章 春季MVC第三部分:胸腺整合:
与许多类型的Java模板引擎不同,Thymeleaf是一个完整的HTML引擎,这意味着模板文件本身是一个可以由任何Web浏览器渲染的HTML文件。
如我所知,唯一的其他基于属性的模板引擎是使用Python语言的TAL(模板属性语言)。
模板本身可以在Web浏览器中显示的事实是重要的功能。确实,在开发网页时,人们首先开始设计GUI的静态部分(CSS,Color,Layout),然后再关注动态部分(数据注入,有条件渲染)…使用Thymeleaf…我们不需要添加任何新标签,只是新属性。