测试在Freemarker的模板中输出控制中的List数据列表,List列表中可以是一个自定义的JavaBean。实际上Freemarker将控制器返回的数据转化成JSON格式的数据。
控制器中构建一个简单的List数据和一个带有用户自定义JavaBean的List序列,如下:package ;
import ;
import ;
import ;
import ;
import ;
import ;
/**
* 输出Freemarker中的Sequence数据
* @author Administrator
*
*/
@Controller
@RequestMapping("/sequencePrintController")
public class SequencePrintController {
@RequestMapping("/printList")
public String printList(ModelMap map){
// 简单的List
List list = new ArrayList();
("张三");
("李四");
("王武");
("赵牛");
("李强");
("王强");
("邢鑫");
("names", list);
// 有数据对象的List
List users = new ArrayList();
(new User(1, "张三", "男", 21));
(new User(2, "李四", "男", 19));
(new User(3, "王武", "女", 20));
(new User(4, "赵牛", "男", 24));
(new User(5, "李强", "女", 27));
("users", users);
return "";
}
}
;
/**
* 用户信息JavaBean
* @author Administrator
*
*/
public class User {
private int id; // 用户ID
private String name; // 用户名
private String sex; // 性别
private int age; // 年龄
public User(int id, String name, String sex, int age) {
= id;
= name;
= sex;
= age;
}
public int getId() {
return id;
}
public void setId(int id) {
= id;
}
public String getName() {
return name;
}
public void setName(String name) {
= name;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
= sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
= age;
}
}
Freemarker模板文件内容()HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
输出Freemarker的Sequence(1)输出用户名列表
${name}
#list>
(2)显示用户信息表格
用户ID | 用户名 | 性别 | 年龄 |
---|---|---|---|
${} | ${} | ${} | ${} |
#list>
(3) 序列连接(["张三", "李四"] + ["王五", "赵六"])操作:
- ${name}
#list>
(4)序列片段(["a","b","c","d","e"][1..2]):
- ${s}
#list>
(5)序列连接(["a","b","c","d","e"][2..])操作:
- ${s}
#list>
(6)取出序列中指定下标(从0开始;如:user[1])的值:
用户ID:${users[2].id}
用户名:${users[2].name}
性 别:${users[2].sex}
年 龄:${users[2].age}
结果如下:
(1)输出用户名列表张三 李四 王武 赵牛 李强 王强 邢鑫(2)显示用户信息表格用户ID用户名性别年龄
1张三男21
2李四男19
3王武女20
4赵牛男24
5李强女27
(3) 序列连接(["张三", "李四"] + ["王五", "赵六"])操作:- 张三- 李四- 王五- 赵六(4)序列片段(["a","b","c","d","e"][1..2]):- b- c(5)序列连接(["a","b","c","d","e"][2..])操作:- c- d- e(6)取出序列中指定下标(从0开始;如:user[1])的值:用户ID:3用户名:王武性 别:女年 龄:20