问题
I am developing a simple struts application. In my JSP I have a dropdown list box (using s:select
tag). I need to fill the values with a arraylist values in the action class. How can I do that? what changes needed in the structs.xml
file for complete this?
JSP:
<s:select name="department" label="" list="departmentlist" headerKey="-1" headerValue="Select Department">
Action class:
private List<String> departmentlist = new ArrayList<String>();
public String xyz()
{
departmentlist.add("aaa");
departmentlist.add("bbb");
departmentlist.add("ccc");
departmentlist.add("ddd");
return "success";
}
回答1:
The error
"The requested list key 'departmentlist' could not be resolved as a collection/array/map/enumeration/iterator type. Example: people or people.{name} - [unknown location] "
means that the select
tag is not able to resolve departmentlist
as a collection. It is an OGNL expression which is trying to find the departmentlist
in the value stack and if it not found or contains a null
reference the select
tag will complain. When you render the select
tag make sure the list is in the value stack and is initialized. See the example here.
回答2:
Try to add get and set method for our field departmentlist,in your class Exple : in your class controller put this method for your field departmentlist :
public List<String> getDepartmentlist(){
return this.departmentlist();
}
public void setDepartmentlist(List<String> departmentlist){
return this.departmentlist = departmentlist;
}
来源:https://stackoverflow.com/questions/22760673/struts-select-tag-with-values-of-a-array-list