freemarker写select组件

1、宏定义

<#macro select id datas value="" key="" text="" headKey="" headValue="">
     <select id="${id}" name="${id}">
          <option>---请选择---</option>
          <#if headKey!="">
               <option value="${headKey}">${headValue}</option>
          </#if>
          <#if datas?is_hash_ex>
             <#local keys=datas?keys/>
             <#list keys as key>
                  <#if key==value>
                      <option value="${key}" selected>${datas[key]}</option>
                  <#else>
                      <option value="${key}">${datas[key]}</option>
                  </#if>
             </#list>
          <#else>
             <#list datas as data>
              <#if key!="">
                  <#if value == data[key]?string>
                 	<option value="${data[key]}" selected>${data[text]}</option>
                  <#else>
                   <option value="${data[key]}">${data[text]}</option>
                 </#if>
              <#else>
                  <#if value == data>
                 	<option value="${data}" selected>${data}</option>
                 <#else>
                 <option value="${data}">${data}</option>
              </#if>
             </#if>
          </#list>
        </#if>

     </select>
</#macro>

2、宏引入

<@items.select id="sex" datas={"0":"请选择学历","1":"小学","2":"初中","3":"高中","4":"本科"} />

3、运行结果

<select id="sex" name="sex">
          <option>---请选择---</option>
                      <option value="0">请选择学历</option>
                      <option value="1">小学</option>
                      <option value="2">初中</option>
                      <option value="3">高中</option>
                      <option value="4">本科</option>

     </select>

最新文章

  1. Linux内核笔记——内存管理之slab分配器
  2. DPI深度包检测
  3. WEB安全性测试
  4. Java语言词法分析器
  5. Lucene全文检索系列(一)
  6. 关于EF中ApplyCurrentValues和ApplyOriginalValues区别
  7. Entity Framework 学习初级篇1--EF基本概况
  8. js的体会
  9. append()方法生成的元素绑定的事件失效解决办法
  10. SELinux策略语言--客体类别和许可
  11. ****微信小程序架构解析
  12. CEC和ARC介绍
  13. linux locate命令
  14. 跨域学习笔记3--web.config设置之system.webServer 详细介绍,为网站设置默认文档
  15. 基于Python——实现两个文件夹中的文件拷贝
  16. 开启 J2EE(一)—‘全明星队伍’
  17. docker启动centos7后sudo不能使用
  18. 安全测试8_Web安全实战2(暴力破解)
  19. 数位dp poj1850
  20. jQuery.event详细解析

热门文章

  1. Jquery之isPlainObject源码分析
  2. ABP官方文档翻译 3.6 工作单元
  3. NIO基础篇(三)
  4. 最大流模版 EK
  5. BZOJ 2083: [Poi2010]Intelligence test [vector+二分]
  6. php扩展开发实战教程(1)
  7. 2n皇后问题
  8. zip-gzip-bzip2_压缩文件
  9. statement preparestatement CallableStatement
  10. Tomcat输出保存JVM GC日志文件