我使用以下代码检索项目列表,并在下拉列表中显示它们。
问题是我需要将ID作为每个选项的ID传递,并将名称作为dropdownbox的每个选项的值。由于Ids的类型是int,我需要将它们转换为字符串以将它们用作HashMap的键。
我想知道是否有任何替代方法,以避免转换。
List <ListRows> results = session.createQuery("SELECT new
com.example.ListRows (d.id,d.name) FROM MyTable d").list();
for(int i=0;i<results.size();i++)
{
myhashmap.put(ConvertToString(results.get(i).getID()),
results.get(i).getName();
}
return myhashmap;
}
public String ConvertToString(int item){
Convert item to String
return StrItem;
}
ListRows.java
public class ListRows {
private String id;
private String name;
//Constructor
// getters and setters
}
JSP
<s:select name="development"
id="myrows"
label="Rows"
list="myhashmap"
onchange="View(this.value)"
headerKey = "-1"
headerValue=" "
/>
答案 0 :(得分:0)
如果您不创建hashmap并且只返回List将起作用。 试试以下代码,
<s:select name="development" list="%{results}" listKey="%{id}"
listValue="%{name}" onchange="View(this.value)" label="Rows" headerKey = "-1" headerValue = " "></s:select>