一、controller开始准备模型、数据
1.po类
package com.hbut.ssm.po;
/**
* pojo类
*
*/
public class Children {
private String name;
private Integer age;
private String gender;
public Children(String name, Integer age, String gender) {
super();
this.name = name;
this.age = age;
this.gender = gender;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
public String getGender() {
return gender;
}
public void setGender(String gender) {
this.gender = gender;
}
}
2.模型数据准备
@RequestMapping("/freemarker")
public String index(Model model,HttpServletRequest request){
//1.迭代list
List<Children> childrenList= new ArrayList<Children>();
childrenList.add(new Children("张三", 25, "男"));
childrenList.add(new Children("李四", 28, "男"));
childrenList.add(new Children("小红", 22, "女"));
//2.迭代map
Map<String,Object> userMap = new HashMap<String,Object>();
userMap.put("address","wuhan");
userMap.put("birthday","11月01");
userMap.put("phone",null);
//3.迭代常规对象
model.addAttribute("flag",1);
model.addAttribute("home","wuhan");
//list、map添加进model
model.addAttribute("childrenList",childrenList);
model.addAttribute("userMap",userMap);
return "free";
}
说明:数据有常规String、list、map的数据,需要freemarker页面解析数据
二、freemarker常用解析指令
<Html>
<head>
<title>lerning---freemarker</title>
</head>
<body>
1.list iterator
<table border="1" cellspacing="0" cellpadding="20">
<!--1. list-->
<#list childrenList as chilren>
<tr>
<td>${chilren.name}</td><td>${chilren.age}</td><td>${chilren.gender}</td>
</tr>
</#list>
</table> <br>
2.if jugde <br>
<!--2.测试if-->
<#if flag==1>
result:flag==1
</#if><br><br>
3.converter lowercase to uppercase<br>
<!--3. ?代替为. 后面接内建函数,将字符串转为大写-->
result:${home?upper_case}<br><br>
4.map iterator <br>
<!--4.迭代map中的key/value对-->
<#list userMap?keys as key>
${key}--${userMap[key]!("default value")}<br>
</#list>
<body>
</html>
三、freemarker显示结果