-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

ハッシュマップを作成せず、リストを返すだけで機能します。以下のコードを試してください。

<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 に答える