-1

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

问题是我需要将 ID 作为每个选项的 ID 传递,并将名称作为下拉框的每个选项的值传递。由于 Id 的类型是 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=" "
                          />
4

1 回答 1

0

如果您不创建哈希图而只返回 List 将起作用。试试下面的代码,

<s:select name="development" list="%{results}" listKey="%{id}"
            listValue="%{name}" onchange="View(this.value)" label="Rows" headerKey = "-1" headerValue = " "></s:select>
于 2013-06-17T11:43:06.097 回答