activeweb ContentFor 标签什么都不渲染?
activeweb ContentFor tag render nothing?
我已阅读 activeweb 文档的 content for and yield tag
部分。和 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 简单项目 content_for
分支的最后一次提交:https://github.com/javalite/activeweb-simple/tree/content_for
您可以 运行 这个项目来查看您的代码是否正常工作。
要回答你的第二个问题,你需要在视图中使用条件,而不是在布局中。
因此,视图将如下所示:
<#if condition >
<@content for="ext">
"hello", "world"
</@content>
["this is data"]
</#if>
我已阅读 activeweb 文档的 content for and yield tag
部分。和 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 简单项目 content_for
分支的最后一次提交:https://github.com/javalite/activeweb-simple/tree/content_for
您可以 运行 这个项目来查看您的代码是否正常工作。
要回答你的第二个问题,你需要在视图中使用条件,而不是在布局中。 因此,视图将如下所示:
<#if condition >
<@content for="ext">
"hello", "world"
</@content>
["this is data"]
</#if>