Java struts选择带有数组列表值的标记
我正在开发一个简单的struts应用程序。在我的JSP中有一个下拉列表框(使用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
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标记以确保此操作成功代码示例将很有帮助,并使其成为更好的答案。