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>


原文地址:https://www.cnblogs.com/jpfss/p/8479883.html