freemarker的for list:
<#list items as item>
${item.attr}
</#list>
freemarker的for map:
<#list yourmap?keys as key>
${key}=${yourmap[key]}<br />
</#list>
PS:map的key必须为String类型,如果为复杂的类型那么需要单独基于业务进行封装,否则不能正常遍历,场景举例如下:
学生:
public class Student{
private String xh;
private String name;
/**setter getter**/
}
课程:
public class Course{
private String id;
private String cname;
private String ename;
/**setter getter**/
}
我们需要遍历展示学生的选课信息,那么基于基本类型做map封装即可如Map<Student,List<Course>即可,不过在基于freemarker做展示遍历的时候不能正常访问,jstl的foreach可以,那么我们需要基于业务做封装,构造封装类:
public class StudentCourse{
private String studentName;
private List<Course> courses
}
然后map的组织形式为Map<String,StudentCourse>(如果你确实打算非要用map的话,这种方式也不失为一种方式)