zoukankan      html  css  js  c++  java
  • freemarker 取值(插值)(转)

    Java数据模型

    1)基本数据类型取值

    八种基本的java类型:byte、short、int、long;float,double;char;boolean

    对应的封装类型:Byte、Short、Integer、Long、Float、Double、String、Boolean

    2)封装类型:User 对象

    3)集合类型:List、Map

    如何遍历集合类型List、遍历Map类型获取Key和Value


    项目中数据模型定义、取值

    1、基本数据类型取值

    Java数据模型定义

    ModelAndView mv = new ModelAndView(
    "cp1");
    mv
    .addObject("intVar", 100);
    mv
    .addObject("longVar", 100000L);
    mv
    .addObject("stringVar", "我是字符串");
    mv
    .addObject("doubleVar", 3.45d);
    mv
    .addObject("booleanVar", Boolean.TRUE); mv.addObject("dateVar", new Date());
    freemarker模板取值(插值)
    整数:${intVar}
    长整数:${longVar}
    字符串:${stringVar}
    双精度:${doubleVar}
    布尔值:${booleanVar} //配置文件中的boolean_format的作用 yes,no
    日期:${dateVar?string('yyyy-MM-dd HH:mm:ss')} //配置文件中date_format的作用;(java.sql.date)
    ${booleanVar?string('yes', 'no')} //boolean类型格式化

    判断不为空

    ${abc??}
    ${abc?exists}
    ${abc!0}

    【FreeMarker】判断是否为空      

    1)判断Map数据是否为空

               <#ifmaster??&&(master?size>0)>

               <#list master?keys askey>

    <span>${key}:${master[key]!}</span>

       </#list>

      </#if>

     

    2)判断List数据是否为空

    <#if tables?exists>

    <#listtables as table>

    ${table}

    </#list>

    </#if>

    3)解决为空的问题:

    A加个感叹号可以解决为空的问题

     

    ${(emp.group)!}

     

    B加上括号,感叹号解决对象导航为空的问题

     

    ${(emp.group.name)!"group为空或者name为空"} 

     

    C感叹号还可以解决未定义为空的问题-->

    ${(a.b)!("a.b未定义")}

                 

                     <#--(a.b)??判断a.b是否为空-->

    <#if (a.b)??>

       不为空

        <#else>

       为空

    </#if>

    <br/>

    ${(a.b)???string}

    assign语法

    <#assign a='hello' />
    <#assign a=100 + 200 />


    2、对象取值

    java模型数据定义

    User user = new User();
    user
    .setName("freemarker");
    mv
    .addObject("userObj", user);
    freemarker模板取值(插值)

    ${userObj.name!}//点语法,
    $
    {(userObj.name)!}//可以结合()使用

    输出HTML原文

    ${(userObj.brief)!?html}

    3、集合取值

    Java模型数据定义

    List<String> list = new ArrayList<String>();
    list
    .add("java"); list.add("python");
    list
    .add("nodejs");
    mv
    .addObject("myList", list);

    Map<String,String> map = new HashMap<String,String>();
    map
    .put("java", "你好Java");

    map
    .put("python", "你好python");

    map
    .put("nodejs", "你好nodejs");

    mv
    .addObject("map",map);


    freemarker模板取值(插值)

    集合 List (可以通过下标取值)
    <#list myList as item>
    $
    {item!}<br/>
    </#list>
    集合 map(直接取某个key的值)
    <#list map?keys as key>
    ${key} : ${map[key]}<br/
    >
    </#list>


  • 相关阅读:
    application , application pool., W3wp ,httpapplication, domain
    HDFS
    spark
    Hive
    container docker
    Azure&& hdinsight
    Native Code
    拥抱重构
    六个重构方法可帮你提升80%的代码质量
    重构 小步进行曲
  • 原文地址:https://www.cnblogs.com/jpfss/p/8479883.html
Copyright © 2011-2022 走看看