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

Java struts选择带有数组列表值的标记,java,jsp,struts2,struts,valuestack,Java,Jsp,Struts2,Struts,Valuestack,我正在开发一个简单的struts应用程序。在我的JSP中有一个下拉列表框(使用s:selecttag)。我需要在action类中用arraylist值填充这些值。我该怎么做?要完成此操作,需要在structs.xml文件中进行哪些更改 JSP: <s:select name="department" label="" list="departmentlist" headerKey="-1" headerValue="Select Department"> private List

我正在开发一个简单的struts应用程序。在我的JSP中有一个下拉列表框(使用
s:select
tag)。我需要在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";
}

动作类:

<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";
}
private List departmentlist=new ArrayList();
公共字符串xyz()
{
部门列表。添加(“aaa”);
部门列表。添加(“bbb”);
部门列表。添加(“ccc”);
部门列表。添加(“ddd”);
返回“成功”;
}
错误

“无法将请求的列表项'departmentlist'解析为 集合/数组/映射/枚举/迭代器类型。示例:人员或 人员。{name}-[未知位置]”


表示
select
标记无法将
departmentlist
解析为集合。它是一个OGNL表达式,试图在值堆栈中查找
部门列表
,如果未找到或包含
null
引用,则
选择
标记将发出投诉。渲染
select
标记时,确保列表位于值堆栈中并已初始化。请参阅示例。

尝试在您的类中为我们的field departmentlist添加get和set方法 解释: 在类控制器中,将此方法用于field departmentlist:

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

public void setDepartmentlist(List<String> departmentlist){
  return this.departmentlist = departmentlist;
}
公共列表getDepartmentlist(){ 返回此.departmentlist(); } 公共作废设置部门列表(列表部门列表){ 返回此项。departmentlist=departmentlist; }
关于你说的
structs.xml
是什么?在我搜索之后,我发现在struts配置文件中为此添加操作映射条目。无论如何,我如何在下拉框中显示此arraylist值?为列表创建一个getter,然后它将自动填充。我已经尝试过了。我收到了以下错误消息。“无法将请求的列表键'departmentlist'解析为集合/数组/映射/枚举/迭代器类型。示例:人员或人员。{name}-[unknown location]”显示struts标记以确保此操作成功代码示例将很有帮助,并使其成为更好的答案。