美文网首页
Freemarker组件继承与重写

Freemarker组件继承与重写

作者: 输入昵称就行 | 来源:发表于2019-05-11 23:54 被阅读0次

基于spring boot starter freemarker

        <!--页面模板-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-freemarker</artifactId>
        </dependency>

添加依赖

        <!--rapid-freemarker 模板继承框架-->
        <dependency>
            <groupId>com.googlecode.rapid-framework</groupId>
            <artifactId>rapid-core</artifactId>
            <version>4.0.5</version>
        </dependency>

添加配置

@Configuration
public class FreemarkerConfiguration {

    @Autowired
    freemarker.template.Configuration configuration;

    @PostConstruct
    public void setSharedVariable(){
        configuration.setSharedVariable("block", new BlockDirective());
        configuration.setSharedVariable("override", new OverrideDirective());
        configuration.setSharedVariable("extends", new ExtendsDirective());
    }

}

使用方法

首先定义一个模板

base.ftl

<!DOCTYPE html>
<html lang="en">
<head>
    <@block name="head"></@block>
    <!-- 这是freemarker的引入 -->
    <#include "head.ftl"> 
</head>
<body>
    <@block name="body"></@block>
    <#include "foot.ftl">
</body>
</html>
然后另外一个新建一个页面

index.ftl

@override 类似vue的template

include 类似vue的组件引入

<!-- @override 就是重写 -->
<@override name="head">
    <title>Home</title>
</@override>
<@override name="body">
    <!-- 这是freemarker的继承 -->
    <#include "../component/layout.ftl">
</@override>
<!-- @extends 是继承 -->
<@extends name="../component/base.ftl"></@extends>

这样当访问index页面的时候,自动具备了base.ftl中定义的head和body等内容了,然后重写的就是block的内容

相关文章

  • Freemarker组件继承与重写

    基于spring boot starter freemarker 添加依赖 添加配置 使用方法 首先定义一个模板 ...

  • 扩大按钮(UIButton)点击范围

    重写一个Button类,这个类继承与UIButton,重写 - (BOOL)pointInside:(CGPo...

  • iOS-扩大UIButton点击范围

    重写一个Button类,这个button类继承与UIButton,重写- (BOOL)pointInside:(C...

  • Swift 重写override和重载overload

    1.重写override 重写是子类继承父类,重写父类的方法。 重写方法的参数列表必须完全与被重写的方法相同。重写...

  • swift overrid 跟 overload

    1.重写override 重写是子类继承父类,重写父类的方法。 重写方法的参数列表必须完全与被重写的方法相同。重写...

  • Python 继承和重写

    继承与重写 1.重写 继承后,子类可以拥有除父类继承的内容以外的其他内容。 1.关于方法 a.在子类中可以直接添加...

  • Python所学----python高级(中)

    一. 单继承 、多继承、多态,重写与父类 1.单继承、就是子类继承父类的属性与方法 2.多继承、就是子类继承多个父...

  • Android 实现文字按照路径曲线显示

    效果图: 基础知识: 在Android中的绘图应该继承View组件,并重写它的onDraw(Canvas canv...

  • 《Java8学习笔记》读书笔记(七)

    第6章 继承与多态 学习目标 了解继承的目的 了解继承与多态的关系 知道如何重写方法 认识java.lang.Ob...

  • 重写继承

    重写是父类的行为满足不了子类的需求时 需要重写 继承是只要定义一次 比如猫类会吃 跑 睡 下面就是只要调用上面...

网友评论

      本文标题:Freemarker组件继承与重写

      本文链接:https://www.haomeiwen.com/subject/hzhqaqtx.html