簡體   English   中英

如何抑制 freemarker 模板文件中的其他內容?

[英]How do I suppress additional content in freemarker template file?

我的公司使用 java lite(活動網絡)和 freemarker 模板在一些舊版 web 頁面中顯示。 我寫了一個活躍的 web AppController,它轉發到一個 ftl 顯示文件(freemarker 模板),我可以看到“hello world”內容。 然而不知何故,該頁面也獲得了我們的標准 web 站點 header 和頁腳內容,我不知道如何抑制它或在哪里查看。 javalite 是否有一些全局配置,它說包括所有頁面的頁眉和頁腳,並且可以抑制它嗎?

public class MfaController extends AppController {
    @GET
    public void registration()  {
        //does nothing
    }
}

注冊.ftl:

<html>
<body>hello world</body>
</html>

JavaLite 不使用配置文件。 相反,它使用約定。 您觀察到的是默認行為。 默認布局位於

src/main/webapp/WEB-INF/views/layouts/default_layout.ftl

適用於所有 web 頁面,除非您告訴框架您不需要它。

如果您不需要布局,可以通過覆蓋getLayout()方法將其關閉:

public class MfaController extends AppController {

    public void registration()  {
        //does nothing
    }
    public String getLayout(){
        return null;
    }
}

替代解決方案如下所示:

public class MfaController extends AppController {
    public void registration()  {
         render().noLayout();
    }
}

此外, @GET注釋是多余的,如果公開,則默認情況下所有操作都是 GET。

這是文檔: https://javalite.io/views#default-layout

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM