如何使用列表填充下拉框

时间:2013-05-17 06:48:48

标签: jsp struts2

我有一个角色列表,例如Manager和User,需要显示为我的下拉框的选项。目前我可以使用以下代码显示它们,但不知道如何使用其名称来建立索引。

目前,选项名称及其索引是相同的。

  Index   Name

  Manager Manager

  User    User

但应

  Index Name

  1     Manager

  2     User

我的清单

 public interface Options{
      public static final String[] POSITION = {"Manager", "User"}; 
      ....

我的代码使用列表作为下拉列表的来源

  <s:select name="Position" label="Positions" list="@com.myproject.interfaces.Lists@POSITION"/>   

1 个答案:

答案 0 :(得分:0)

您可以使用List<Object>而不是String[],甚至是Map<Integer, String>

public static final Map<Integer, String> POSITIONS = new HashMap<Integer, String>() {
    {
        put(1, "User");
        put(2, "Manager");
    }
};

而.jsp只是:

 <s:select name="Position" label="Positions" list="@com.myproject.interfaces.Lists@POSITIONS" />

您在Key的{​​{1}}中添加的内容会转到Entry中的ListKey,而s:select中的内容会转到Value listValue

您还可以拥有两个不同的集合,并填充<s:select>,指定哪个集合属于ListKeyListValue属性。