1

ドロップダウンを使用している Struts2 アプリを使用しています。以下のように、Users Bean からこのドロップダウンに userId と userName を入力しました。

public class DropDown extends ActionSupport{
    private List arrUserDetails = new ArrayList<Users>();

    public DropDown()
    {
        Users objUsers = new Users();
        objUsers.setUserId("101");
        objUsers.setUserName("User1");

        arrUserDetails.add(objUsers);

        objUsers.setUserId("102");
        objUsers.setUserName("User2");

        arrUserDetails.add(objUsers);

        objUsers.setUserId("103");
        objUsers.setUserName("User3");

        arrUserDetails.add(objUsers);
    }

    public String execute(){
        return SUCCESS;
    }

    public List getArrUserDetails() {
        return arrUserDetails;
    }


    public void setArrUserDetails(List arrUserDetails) {
        this.arrUserDetails = arrUserDetails;
    }
}

ユーザー Bean は次のとおりです。

ユーザー.java

public class Users
{
    private String userId;
    private String userName;

    public String getUserId() {
        return userId;
    }
    public void setUserId(String userId) {
        this.userId = userId;
    }
    public String getUserName() {
        return userName;
    }
    public void setUserName(String userName) {
        this.userName = userName;
    }
}

Struts2 タグ lib を使用して JSP でコードを作成し、リストを反復処理して、ドロップダウンにデータが入力されるようにしました。

<s:select label="UserList" list="arrUserDetails" name="yourSearchEngine" />

ただし、オプションのユーザー名と値としてのユーザーIDではなく、ドロップダウンにメモリの場所を表示しています

期待される出力

<select name=""> 
  <option value="101">User1</option>
  <option value="102">User2</option>
  <option value="103">User3</option>
</select>
4

2 に答える 2

0

返信を投稿して私を助けようとした人に感謝します。コードへの次の変更を行うことで、最終的にそれを行いました

1.リストに追加する前に新しいオブジェクトを作成する必要があります。そうしないと、3 つの値すべてに対して User3 が表示されます。

    public DropDown()
    {
        Users objUsers1 = new Users();
        objUsers1.setUserId("101");
        objUsers1.setUserName("User1");

        arrUserDetails.add(objUsers1);

        Users objUsers2 = new Users();
        objUsers2.setUserId("102");
        objUsers2.setUserName("User2");

        arrUserDetails.add(objUsers2);

        Users objUsers3 = new Users();
        objUsers3.setUserId("103");
        objUsers3.setUserName("User3");

        arrUserDetails.add(objUsers3);
    }

2. JSP コード

<s:select key="User List" list="arrUserDetails" listKey="userId" listValue="userName" />

どうもありがとうございました

于 2013-06-21T05:40:32.607 に答える