簡體   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