繁体   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