struts选择具有数组列表值的标记

问题描述 投票:2回答:2

我正在开发一个简单的struts应用程序。在我的JSP中,我有一个下拉列表框(使用s:select标记)。我需要在action类中用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";
}
java jsp struts2 struts valuestack
2个回答
2
投票

错误

“请求的列表键'departmentlist'无法解析为集合/数组/映射/枚举/迭代器类型。例如:人或人。{name} - [unknown location]”

意味着select标签无法将departmentlist解析为集合。这是一个OGNL表达式试图在值堆栈中找到departmentlist,如果找不到或包含null引用,select标签会抱怨。渲染select标记时,请确保列表位于值堆栈中并初始化。请参阅示例here


0
投票

尝试在我们的类部门列表中添加get和set方法,在您的类Exple:在您的类控制器中将此方法放入您的现场departmentlist:

public  List<String> getDepartmentlist(){
  return this.departmentlist();
}

public void setDepartmentlist(List<String> departmentlist){
  return this.departmentlist = departmentlist;
}
© www.soinside.com 2019 - 2024. All rights reserved.