【问题标题】:Populating drop down with values in bean object Struts用 bean 对象 Struts 中的值填充下拉列表
【发布时间】:2013-06-21 05:31:13
【问题描述】:

我有一个使用下拉菜单的 Struts2 应用程序。我使用来自用户 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;
    }
}

Users bean 如下所示

Users.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 标签库在 JSP 中编写了一个代码来遍历列表 以便填充下拉列表

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

但它在下拉菜单中显示内存位置,而不是 Option 的 UserName 和 UserId 作为 Value

预期输出

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

【问题讨论】:

标签: java jsp struts2 struts


【解决方案1】:

我认为您还需要为标签提供 listKey 和 ListValue 属性。

listKey = 要从中获取字段值的列表对象的属性

listValue = 要从中获取标题的列表对象的属性

所以,就你而言,listKey = "userId"listValue = "userName"

【讨论】:

  • 属性listTitle 是标题而不是值。正确的属性是listValue
【解决方案2】:

感谢那些试图通过发布回复来帮助我的人。我终于通过对代码进行以下更改来做到这一点

1.我应该在添加到 List 之前创建一个新对象,否则它将显示 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" />

非常感谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-09-26
    • 2011-05-28
    • 1970-01-01
    • 1970-01-01
    • 2013-09-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多