2013-07-08 2 views
0

참고 : 이전 jsp의 스크립틀릿 방식을 따르고 있습니다. 이번에 JSTL을 사용하라고 강요하지 마십시오.JAVA/JSP의 해시 테이블 키 값에서 여러 옵션 선택

안녕 모두, 나는지도 유형의 데이터 hashtable.keySet() 반환 [8, 5, 2] hashtable.entrySet() 반환

[8=ad, 5=asxd, 2=asdas] 그리고 내가 JSP에서 선택 다중이를 반환하는 방법이있다. 이 MAP 키 값을 사용하여 선택 옵션을 생성하려고합니다. 이

<select id="XX" name="XX" class="left" multiple="multiple"> 
    <option id="opt1" value="8">ad</option> 
    <option id="opt2" value="5">asxd</option> 
    <option id="opt3" value="2">asdas</option> 
</select> 

EDIT 같은 : 여기 내지도 유형의 방법

public Map<Integer, String> getRuleTag(String bucketTagGroup) { 
      logger.debug("Start Of getRule Rule"); 


      Map<Integer, String> x = new Hashtable<Integer, String>(); 
      try 
      { 
       //System.out.println(rs.getString("inbuckets")); 
       String[] a = bucketTagGroup.split(", "); 
       for(int i = 0;i<a.length;i++){ 
       //System.out.println(a[i]); 
        int tagid = Integer.parseInt(a[i]); 
        String sql1 = "select bucketchargetag from IDC.BCTCHRTAG where tagid = ?"; 
        java.sql.PreparedStatement p = conn.prepareStatement(sql1); 
        p.setInt(1, tagid); 
        ResultSet rs1 = p.executeQuery(); 
        while(rs1.next()){ 
         //System.out.println(rs1.getString("bucketchargetag")); 
         x.put(tagid, rs1.getString("bucketchargetag")); 
         //System.out.println(x.entrySet()); 
        } 

       } 
      logger.info(x.keySet().toString()); 
      } catch (SQLException e) { 
       logger.debug(e.getMessage()); 
      } 
      return x; 
     } 

PS입니다 : 값이 증가 또는 다중 선택 시간에 시간을 줄일 수 있습니다. 이 다중 선택은 런타임에 생성됩니다. 자세한 정보가 필요하면 저에게 문의하십시오. 감사합니다. .

+0

지도가 jsp에서 사용할 수있는 경우는? jsp 페이지에있는지도를 선언 한 곳을 의미합니까? – pikrut

+0

@pikrut 예 jsp에서 사용할 수 있습니다. – AzAh

+0

해시 테이블을 어떻게 선언했는지 보여주세요. – pikrut

답변

1
<select id="XX" name="XX" class="left" multiple="multiple"> 
<%for(Integer key_value : (Integer)hashtable.keySet()){%> 
    <option id="<%=key_value%>" value="<%=key_value%>"><%=hashtable.get(key_value)%></option> 
<%}%> 
</select> 

시도해보십시오. 그리고 jsp에서 sriptlet을 사용하지 않도록하십시오. 이것은 좋은 습관이 아닙니다.

+0

유형 불일치 : Integer key_value : hashtable의 Object 유형에서 Object 유형으로 변환 할 수 없습니다. .keySet()' – AzAh

+0

그냥 캐스트가 필요합니다. – pikrut

관련 문제