如何检索表的行并在下拉框中显示它们?

时间:2013-06-14 02:06:11

标签: hibernate java-ee struts2

我使用以下代码检索项目列表,并在下拉列表中显示它们。

问题是我需要将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=" "
                          />

1 个答案:

答案 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>