首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java jinja/类似于django的html模板

问Java jinja/类似于django的html模板
EN

Stack Overflow用户
提问于 2012-09-03 00:34:18
回答 1查看 2.8K关注 0票数 4

一段时间以来,我一直在寻找一个Java模板框架,它的工作方式类似于Jinja /Django的模板引擎。我发现似乎流行的是StringTemplate和FreeMarker,但似乎都不支持“块”( jinja/django )。

我所发现的是Jangod,它工作得很好--然而,它根本没有任何支持,没有任何人维护,也没有完成(即,没有文档)。

我也使用了Playframework的模板,遗憾的是,它与我正在开发应用程序的平台Google Appengine不兼容。

( TLDR;寻找一个仍然活着的Java模板框架,拥有像Java这样的块系统,并且可以在Appengine的严格规则下运行)

EN

回答 1

Stack Overflow用户

发布于 2012-09-03 05:49:13

看看Rythm模板引擎:http://rythmengine.com

jinja中的"block“特性在Rythm中称为"section”。因此假设您的布局模板(父模板)名为main.html

代码语言:javascript
复制
<h1>@get("title", "default main page")</h1>
<div id="left-panel">@render("leftPanel")<div>
<div id="right-panel">@render("rightPanel")</div>
<div id="main-content">@render()</div>
<div id="footer">
@render("footer"){
   @**
    * the content here is supplied if the child template failed 
    * to provide it's own footer implementation
    *@
   <div class="footer">copyright 2012 ...</div>
}
</div>

这是你的目标模板:

代码语言:javascript
复制
@extends(main)
@set(title: "My Cool Page")
@section("leftPanel") {
<ul class="menu">
...
</ul>
}

@section("rightPanel") {
<div class="news">
...
</div>
}

@*** note no "footer" section supplied so the default content will be used **@

@*** the rest is for the main content **@
...

此功能的真实演示可在http://rythmengine.com/demo/testdefaultlayoutcontent上找到

可以在http://www.playframework.org/modules/rythm上找到一个全面的文档。虽然它的目标是Play!Framework,但大多数内容也适用于没有Play!Framework的纯节奏引擎。

您不必担心GAE,因为演示本身是在GAE上运行的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12237759

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档