注: 私は古い jsp のスクリプトレット プラクティスに従っています。今回は JSTL を使用するように強要しないでください。
やあ、私はMapタイプのデータ
hashtable.keySet()
リターンリターン[8, 5, 2]
hashtable.entrySet()
を返すメソッドを持っています[8=ad, 5=asxd, 2=asdas]
そして、私はjspで複数を選択しています。この MAP キー値を使用して Select オプションを生成したいと考えています。このような
<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>
編集:これが私のMapタイプのメソッドです
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: 複数選択では、値が時々増減する場合があります。この複数選択は実行時に生成されます。これについてさらに情報が必要な場合は、私に尋ねてください。ありがとう。