freemarker 取值(插值)

原文链接:http://www.weixinpy.com/vp/blog/6a9405fbef26409eba05ae1c528a8dc2/

http://blog.csdn.net/lwt976647637/article/details/73135933    


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>



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值