繁体   English   中英

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}
}

您有一个两部分的问题:

  1. 我创建了@ContentFor标签,它没有呈现任何内容。
  2. 如何有条件地呈现其内容。

要回答您的第一个问题,我不能确定为什么它对您不起作用。 我根据您的代码创建了一个相同的示例,它按预期运行。 请查看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>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM