一,讲解一
假如你现在还在为自己的技术担忧,假如你现在想提升自己的工资,假如你想在职场上获得更多的话语权,假如你想顺利的度过35岁这个魔咒,假如你想体验BAT的工作环境,那么现在请我们一起开启提升技术之旅吧,详情请点击http://106.12.206.16:8080/qingruihappy/index.html
1、宏定义
1 <#macro select id datas> 2 <select id="${id}" name="${id}"> 3 <option>---请选择---</option> 4 <#list datas as data> 5 <option value="${data}">${data}</option> 6 </#list> 7 </select> 8 </#macro>
2、示例引入
1 <#import "/inc/select.ftl" as items/> 2 <@items.select id="city" datas=["武汉市","黄石市","黄冈市","荆州市"]/>
3、示例结果
(1)控制台打印结果
1 <select id="city" name="city"> 2 <option>---请选择---</option> 3 <option value="武汉市">武汉市</option> 4 <option value="黄石市">黄石市</option> 5 <option value="黄冈市">黄冈市</option> 6 <option value="荆州市">荆州市</option> 7 </select>
(2)页面显示结果
二,讲解二
1、宏定义
1 <#macro select id datas value=""> 2 <select id="${id}" name="${id}"> 3 <option>---请选择---</option> 4 <#list datas as data> 5 <#if value == data> 6 <option value="${data}" selected>${data}</option> 7 <#else> 8 <option value="${data}">${data}</option> 9 </#if> 10 </#list> 11 </select> 12 </#macro>
2、页面引入
1 <@items.select id="zhuanye" datas=["请选择专业","计算机科学与技术","物流工程","英语专业"] value="计算机科学与技术"/>
3、运行结果
(1)控制台
1 <select id="zhuanye" name="zhuanye"> 2 <option>---请选择---</option> 3 <option value="请选择专业">请选择专业</option> 4 <option value="计算机科学与技术" selected>计算机科学与技术</option> 5 <option value="物流工程">物流工程</option> 6 <option value="英语专业">英语专业</option> 7 </select>
(2)页面显示
三,讲解三
1、宏定义
1 <#macro select id datas value="" key="" text=""> 2 <select id="${id}" name="${id}"> 3 <option>---请选择---</option> 4 <#list datas as data> 5 <#if key!=""> 6 <#if value == data[key]?string> 7 <option value="${data[key]}" selected>${data[text]}</option> 8 <#else> 9 <option value="${data[key]}">${data[text]}</option> 10 </#if> 11 <#else> 12 <#if value == data> 13 <option value="${data}" selected>${data}</option> 14 <#else> 15 <option value="${data}">${data}</option> 16 </#if> 17 </#if> 18 </#list> 19 </select> 20 </#macro>
2、封装类
1 /** 2 * @Title:User.java 3 * @Package:com.you.freemarker.model 4 * @Description: 5 * @author:Youhaidong(游海东) 6 * @date:2014-6-26 下午10:28:01 7 * @version V1.0 8 */ 9 package com.you.freemarker.model; 10 11 /** 12 * 类功能说明 13 * 类修改者 修改日期 14 * 修改说明 15 * <p>Title:User.java</p> 16 * <p>Description:游海东个人开发</p> 17 * <p>Copyright:Copyright(c)2013</p> 18 * @author:游海东 19 * @date:2014-6-26 下午10:28:01 20 * @version V1.0 21 */ 22 public class User 23 { 24 /** 25 * 用户号 26 */ 27 private int userNo; 28 29 /** 30 * 用户姓名 31 */ 32 private String userName; 33 34 /** 35 * 用户年龄 36 */ 37 private int userAge; 38 39 /** 40 * @return the userNo 41 */ 42 public int getUserNo() { 43 return userNo; 44 } 45 46 /** 47 * @param userNo the userNo to set 48 */ 49 public void setUserNo(int userNo) { 50 this.userNo = userNo; 51 } 52 53 /** 54 * @return the userName 55 */ 56 public String getUserName() { 57 return userName; 58 } 59 60 /** 61 * @param userName the userName to set 62 */ 63 public void setUserName(String userName) { 64 this.userName = userName; 65 } 66 67 /** 68 * @return the userAge 69 */ 70 public int getUserAge() { 71 return userAge; 72 } 73 74 /** 75 * @param userAge the userAge to set 76 */ 77 public void setUserAge(int userAge) { 78 this.userAge = userAge; 79 } 80 81 /** 82 * <p>Title:</p> 83 * <p>Description:</p> 84 * @param userNo 85 * @param userName 86 * @param userAge 87 */ 88 public User(int userNo, String userName, int userAge) { 89 super(); 90 this.userNo = userNo; 91 this.userName = userName; 92 this.userAge = userAge; 93 } 94 95 /** 96 * <p>Title:</p> 97 * <p>Description:</p> 98 */ 99 public User() { 100 super(); 101 } 102 103 }
3、页面引入
1 <@items.select id="user" datas=users key="userNo" text="userName"/>
4、Junit测试方法
1 /** 2 * 3 * @Title:testSelect 4 * @Description: 5 * @param: 6 * @return: void 7 * @throws 8 */ 9 @Test 10 public void testSelect() 11 { 12 List<User> users = Arrays.asList(new User(1,"张三丰",25), 13 new User(2,"李思思",22), 14 new User(3,"赵武",23), 15 new User(4,"刘雪",20), 16 new User(5,"朱顾",21), 17 new User(6,"赵武",23), 18 new User(7,"吴语",24), 19 new User(8,"血玉",21)); 20 root.put("users", users); 21 studentPrint("address.ftl"); 22 studentFile("address.ftl","address.html"); 23 }
5、测试结果
(1)控制台打印
1 <select id="user" name="user"> 2 <option>---请选择---</option> 3 <option value="1">张三丰</option> 4 <option value="2">李思思</option> 5 <option value="3">赵武</option> 6 <option value="4">刘雪</option> 7 <option value="5">朱顾</option> 8 <option value="6">赵武</option> 9 <option value="7">吴语</option> 10 <option value="8">血玉</option> 11 </select>
(2)页面显示
四,讲解四
1、宏定义
1 <#macro select id datas value="" key="" text="" headKey="" headValue=""> 2 <select id="${id}" name="${id}"> 3 <option>---请选择---</option> 4 <#if headKey!=""> 5 <option value="${headKey}">${headValue}</option> 6 </#if> 7 <#list datas as data> 8 <#if key!=""> 9 <#if value == data[key]?string> 10 <option value="${data[key]}" selected>${data[text]}</option> 11 <#else> 12 <option value="${data[key]}">${data[text]}</option> 13 </#if> 14 <#else> 15 <#if value == data> 16 <option value="${data}" selected>${data}</option> 17 <#else> 18 <option value="${data}">${data}</option> 19 </#if> 20 </#if> 21 </#list> 22 </select> 23 </#macro>
2、引入宏
1 <@items.select id="username" datas=users key="userNo" text="userName" headKey="0" headValue="其他"/>
3、示例结果
1 <select id="username" name="username"> 2 <option>---请选择---</option> 3 <option value="0">其他</option> 4 <option value="1">张三丰</option> 5 <option value="2">李思思</option> 6 <option value="3">赵武</option> 7 <option value="4">刘雪</option> 8 <option value="5">朱顾</option> 9 <option value="6">赵武</option> 10 <option value="7">吴语</option> 11 <option value="8">血玉</option> 12 </select>
五,讲解五
1、宏定义
1 <#macro select id datas value="" key="" text="" headKey="" headValue=""> 2 <select id="${id}" name="${id}"> 3 <option>---请选择---</option> 4 <#if headKey!=""> 5 <option value="${headKey}">${headValue}</option> 6 </#if> 7 <#if datas?is_hash_ex> 8 <#local keys=datas?keys/> 9 <#list keys as key> 10 <#if key==value> 11 <option value="${key}" selected>${datas[key]}</option> 12 <#else> 13 <option value="${key}">${datas[key]}</option> 14 </#if> 15 </#list> 16 <#else> 17 <#list datas as data> 18 <#if key!=""> 19 <#if value == data[key]?string> 20 <option value="${data[key]}" selected>${data[text]}</option> 21 <#else> 22 <option value="${data[key]}">${data[text]}</option> 23 </#if> 24 <#else> 25 <#if value == data> 26 <option value="${data}" selected>${data}</option> 27 <#else> 28 <option value="${data}">${data}</option> 29 </#if> 30 </#if> 31 </#list> 32 </#if> 33 34 </select> 35 </#macro>
2、宏引入
1 <@items.select id="sex" datas={"0":"请选择学历","1":"小学","2":"初中","3":"高中","4":"本科"} />
3、运行结果
1 <select id="sex" name="sex"> 2 <option>---请选择---</option> 3 <option value="0">请选择学历</option> 4 <option value="1">小学</option> 5 <option value="2">初中</option> 6 <option value="3">高中</option> 7 <option value="4">本科</option> 8 9 </select>