freemarker页面动态下拉菜单

services中的方法

  
  
  
  
  1. /**  
  2.      * 得到年的下拉列表  
  3.      */ 
  4.     public SortedMap getYearMap(){  
  5.         SortedMap dateMap = new TreeMap();  
  6.         int startYear = DateUtil.getYear() - 5;  
  7.         dateMap.put(0"请选择");  
  8.         for (int i = 1; i < 6; i++) {  
  9.             dateMap.put(startYear + i,  startYear + i);  
  10.         }  
  11.         return dateMap;  
  12.     }  
  13.  
  14. /**  
  15.      * 得到季度的下拉列表  
  16.      */ 
  17.     public SortedMap getQuarterMap(){  
  18.         SortedMap quarterMap = new TreeMap();  
  19.         quarterMap.put(0"请选择");  
  20.         for (int i = 1; i < 5; i++) {  
  21.             quarterMap.put(i, i);  
  22.         }  
  23.         return quarterMap;  
  24.     } 

action中的代码

  
  
  
  
  1. private SortedMap yearMap;  
  2. private SortedMap quarterMap;  
  3. private int searchYear;
  4. private int searchQuarter;
  5.  
  6. public String doReportList() throws Exception{  
  7.     yearMap = punishService.getYearMap();  
  8.     quarterMap = punishService.getQuarterMap();  
  9.         ......  
  10.         return SUCCESS;  
  11.     } 

freemarker页面引用

  
  
  
  
  1. <@ww.select name="'searchYear'" list="yearMap" id="'year'"/>  
  2. <@ww.select name="'searchQuarter'" list="quarterMap" id ="'quarter'" onchange="'searchContent()'"/> 

看到了页面中的list后面的map与action中的变量名是一样的,这样,后台中的map中的值就被调到页面中的下拉菜单中了,从而形成了动态下拉菜单。

这种下拉菜单中的数据是固定,如果想要变化的数据怎么办,可以根据从数据库中查询出来的数据动态的放到这些map中,这样数据就会随着操作的改变而变化了。

你可能感兴趣的:(freemarker,list,职场,map,Webwork,select,休闲)