javalite - activeweb ContentFor 标签什么都不渲染?
问题描述
我已经阅读content for and yield tag
了 activeweb 文档的部分。和 activeweb 版本
16:59 $ mvn dependency:tree | grep activeweb
[INFO] +- org.javalite:activeweb:jar:2.2:compile
[INFO] +- org.javalite:activeweb-testing:jar:2.2:test
layout.ftl
模板代码列表如下:
{
"ext": [<@yield to="ext"/>],
"data": ${page_content}
}
和查看页面:
<@content for="ext">
"hello", "world"
</@content>
["this is data"]
我运行控制器并且ext
什么都不渲染。我错过了什么?
顺便说一句,我如何检查是否ContentForTag
包含一些内容?,我希望 layout.ftl 看起来像
{
<#if ext?has_content?>
"ext": [<@yield to="ext"/>],
</#if>
"data": ${page_content}
}
解决方案
你有一个两部分的问题:
- 我创建了 @ContentFor 标记,它没有呈现任何内容。
- 如何有条件地渲染其内容。
要回答您的第一个问题,我可以说不确定为什么它不适合您。我根据您的代码创建了一个相同的示例,它按预期工作。请查看 ActiveWeb Simple 项目content_for
分支上的最后一次提交:https ://github.com/javalite/activeweb-simple/tree/content_for
您可以运行此项目以查看您的代码是否正常工作。
要回答您的第二个问题,您需要在视图中使用条件,而不是在布局中。因此,视图将如下所示:
<#if condition >
<@content for="ext">
"hello", "world"
</@content>
["this is data"]
</#if>
推荐阅读
- powershell - 为什么我的 -match 调用在获取网络驱动器时包含无效项目?
- vba - Excel 2013 VBA 向公式添加新行
- php - 加密事件在 Codeignator 中无法正常工作
- javascript - jQuery 验证方法(必需:false)不起作用
- python - 如何为带有状态的 Keras fit_generator 编写生成器?
- android - 我的应用程序运行成功,但有一些致命错误
- maven - Eclipse 中的 Maven 构建失败(测试和插件)
- graph - 某算法 O(|E|log|E|) VS O(|E|log|V|) Graphs
- javascript - Asp.net MVC 使用 ajax 调用从当前视图页面重定向到另一个视图
- javascript - Javascript 和 Python 的跨码哈希