簡體   English   中英

在struts2中填充選擇

[英]fill select in struts2

我試圖用這種方法填充我的struts2 select,但是我得到的只是空下拉列表。 這是我的行動方法

private List<String> districtList = new ArrayList<String>();


public String get_DistrictList(){         
    try{
        currentCon = ConnectionManager.getConnection();
        Statement stmt = (Statement) currentCon.createStatement();          
        rs = stmt.executeQuery("SELECT district_id, district_name FROM district");
        while(rs.next())                
            districtList.add(rs.getString("district_name"));
           districtList.add(rs.getString("district_id"));


    }catch(Exception e){
        System.out.println("Error From DAO:" + e);
    }   
    return SUCCESS;
}

我的jsp

 <s:select label="Select District" 
                   id="district_list"
                   headerKey="-1" headerValue="Select District"
                   list="districtList" listKey="district_id" listValue="district_name"
                   tooltip="Select District"        
                   name="notaryposition.district" />

當我僅在districtList中使用單個添加並刪除了listKey和listValue時,它可以正常工作,但我想同時選擇鍵和值。 有辦法嗎?

提前致謝 :)

您可以使用地圖來完成

private Map<String, String> districtMap;

/**Setters and getters for Map*/

public String get_DistrictList(){   
    districtMap = new HashMap<String, String>();      
    try{
      .
      .
      .
      while(rs.next())                
        districtMap.put(rs.getString("district_name"), rs.getString("district_id"));
      .
      .
    }catch(Exception e){
     System.out.println("Error From DAO:" + e);
  }   
  return SUCCESS;
}

為以上Map生成setter和getter

JSP

使用地圖進行選擇的參考

 <s:select label="Select District" 
    id="district_list"
    headerKey="-1" headerValue="Select District"
    list="districtMap" listKey="key" listValue="value"
    tooltip="Select District"        
    name="notaryposition.district" />

試試這個,這是獲取ID,名稱%{district_id} & %{district_name}

private List<District> districtList = new ArrayList<District>();
try{
    ........
     District district_object=new District();  //Create Object District Class
     while(rs.next()){

            district_object.setDistrictName(rs.getString("district_name"));
            district_object.setDistrictId(rs.getString("district_id"));
            districtList.add(district_object);
                     }
     .........
   }catch(Exception e){ sout }

Success.jsp

     <s:select label="Select District" 
               id="district_list"
               headerKey="-1" headerValue="Select District"
               list="districtList" 
               listKey="%{district_id}"    
               listValue="%{district_name}"
               tooltip="Select District"        
               name="notaryposition.district" />

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM