services中的方法
- public SortedMap getYearMap(){
- SortedMap dateMap = new TreeMap();
- int startYear = DateUtil.getYear() - 5;
- dateMap.put(0, "請選擇");
- for (int i = 1; i < 6; i++) {
- dateMap.put(startYear + i, startYear + i);
- }
- return dateMap;
- }
- public SortedMap getQuarterMap(){
- SortedMap quarterMap = new TreeMap();
- quarterMap.put(0, "請選擇");
- for (int i = 1; i < 5; i++) {
- quarterMap.put(i, i);
- }
- return quarterMap;
- }
action中的代碼
- private SortedMap yearMap;
- private SortedMap quarterMap;
- private int searchYear;
- private int searchQuarter;
- public String doReportList() throws Exception{
- yearMap = punishService.getYearMap();
- quarterMap = punishService.getQuarterMap();
- ......
- return SUCCESS;
- }
freemarker頁面引用
- <@ww.select name="'searchYear'" list="yearMap" id="'year'"/>
- <@ww.select name="'searchQuarter'" list="quarterMap" id ="'quarter'" οnchange="'searchContent()'"/>
看到了頁面中的list後面的map與action中的變量名是一樣的,這樣,背景中的map中的值就被調到頁面中的下拉菜單中了,進而形成了動态下拉菜單。
這種下拉菜單中的資料是固定,如果想要變化的資料怎麼辦,可以根據從資料庫中查詢出來的資料動态的放到這些map中,這樣資料就會随着操作的改變而變化了。
轉載于:https://blog.51cto.com/sucre/408742