zoukankan      html  css  js  c++  java
  • FreeMarker之FTL指令

    assign指令

    此指令用于在页面上定义一个变量

    (1)定义简单类型:

    <#assign linkman="周先生">
    
    联系人:${linkman}

    (2)定义对象类型:

    <#assign info={"mobile":"13301231212",'address':'北京市昌平区王府街'} >
    
    电话:${info.mobile}  地址:${info.address}

    运行效果:

    include指令

    此指令用于模板文件的嵌套

    创建模板文件head.ftl

    <h1>百度信息网</h1>

    我们修改test.ftl,在模板文件中使用include指令引入刚才我们建立的模板

    <#include "head.ftl">

    if指令

    在模板文件上添加

    <#if success=true>
    
      你已通过实名认证
    
    <#else>  
    
      你未通过实名认证
    
    </#if>

    在代码中对str变量赋值

    map.put("success", true);

    在freemarker的判断中,可以使用= 也可以使用==

     list指令

    需求,实现商品价格表,如下图:

     

    (1)代码中对变量goodsList赋值

    List goodsList=new ArrayList();
    
    Map goods1=new HashMap();
    
    goods1.put("name", "苹果");
    
    goods1.put("price", 5.8);
    
    Map goods2=new HashMap();
    
    goods2.put("name", "香蕉");
    
    goods2.put("price", 2.5);
    
    Map goods3=new HashMap();
    
    goods3.put("name", "橘子");
    
    goods3.put("price", 3.2);
    
    goodsList.add(goods1);
    
    goodsList.add(goods2);
    
    goodsList.add(goods3);
    
    map.put("goodsList", goodsList);

    (2)在模板文件上添加

    ----商品价格表----<br>
    
    <#list goodsList as goods>
    
      ${goods_index+1} 商品名称: ${goods.name} 价格:${goods.price}<br>
    
    </#list>

    如果想在循环中得到索引,使用循环变量+_index就可以得到。

  • 相关阅读:
    我决定潜心研究技术了...
    new proxy
    谷歌插件开发
    js计算不准确 解决方案
    netty中如何切包
    Spring Boot的ComponentScan原理
    解决org.yaml.snakeyaml.scanner.ScannerException: while scanning for the next token found character '@'
    深入理解js立即执行函数
    winform 将子窗体显示在父窗体的TabControl控件上
    js隐藏网页元素
  • 原文地址:https://www.cnblogs.com/alexzhang92/p/10417111.html
Copyright © 2011-2022 走看看