我正在开发一个简单的struts应用程序。在我的JSP中,我有一个下拉列表框(使用s:select标记)。我需要在动作类中用arraylist值填充值。我怎样才能做到这一点? structs.xml文件需要完成哪些更改?

JSP:

<s:select name="department" label="" list="departmentlist"  headerKey="-1" headerValue="Select Department">


动作类:

private List<String> departmentlist = new ArrayList<String>();

public String xyz()
{
    departmentlist.add("aaa");
    departmentlist.add("bbb");
    departmentlist.add("ccc");
    departmentlist.add("ddd");
    return "success";
}

最佳答案

错误


  “请求的列表键“部门列表”无法解析为
  集合/数组/地图/枚举/迭代器类型。例如:人或
  人。{name}-[未知位置]“


表示select标记不能将departmentlist解析为一个集合。这是一个OGNL表达式,它试图在值堆栈中查找departmentlist,如果找不到或包含null引用,则select标记将抱怨。呈现select标记时,请确保该列表位于值堆栈中并已初始化。请参见示例here

10-08 15:35