jsp里这样写的:
<ww:select label="省份" list="provinces" name="province" listKey="key" listValue="value"/>
运行jsp后就报:java.lang.RuntimeException: tag select, field list: You must specify a collection/array/map/enumeration/iterator. Example: people or people.{name},而且页面显示不出下拉框,请大家帮忙看一下,感激不尽!
对应的action是:
public class GreetingAction2Version extends ActionSupport {
String greeting;
String province;
List provinces = new ArrayList();
public GreetingAction2Version() {
provinces.add(new ProvinceCls("key1","value1"));
provinces.add(new ProvinceCls("key2","value2"));
provinces.add(new ProvinceCls("key3","value3"));
provinces.add(new ProvinceCls("key4","value4"));
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public List getProvinces() {
return provinces;
}
public void setProvinces(List provinces) {
this.provinces = provinces;
}
public String getGreeting() {
return greeting;
}
public String execute() throws Exception {
……
} //内部类
public static class ProvinceCls {
String key;
String value;
public ProvinceCls(String key, String value) {
this.key = key;
this.value = value;
} public String getKey() {
return key;
} public String getValue() {
return value;
} }
}
<ww:select label="省份" list="provinces" name="province" listKey="key" listValue="value"/>
运行jsp后就报:java.lang.RuntimeException: tag select, field list: You must specify a collection/array/map/enumeration/iterator. Example: people or people.{name},而且页面显示不出下拉框,请大家帮忙看一下,感激不尽!
对应的action是:
public class GreetingAction2Version extends ActionSupport {
String greeting;
String province;
List provinces = new ArrayList();
public GreetingAction2Version() {
provinces.add(new ProvinceCls("key1","value1"));
provinces.add(new ProvinceCls("key2","value2"));
provinces.add(new ProvinceCls("key3","value3"));
provinces.add(new ProvinceCls("key4","value4"));
}
public String getProvince() {
return province;
}
public void setProvince(String province) {
this.province = province;
}
public List getProvinces() {
return provinces;
}
public void setProvinces(List provinces) {
this.provinces = provinces;
}
public String getGreeting() {
return greeting;
}
public String execute() throws Exception {
……
} //内部类
public static class ProvinceCls {
String key;
String value;
public ProvinceCls(String key, String value) {
this.key = key;
this.value = value;
} public String getKey() {
return key;
} public String getValue() {
return value;
} }
}
String province;
List provinces = new ArrayList();
public GreetingAction2Version() {
provinces.add(new ProvinceCls("key1","value1"));
provinces.add(new ProvinceCls("key2","value2"));
provinces.add(new ProvinceCls("key3","value3"));
provinces.add(new ProvinceCls("key4","value4"));
}
com.signori.webwork.action.GreetingAction2Version$ProvinceCls@ca2dce
com.signori.webwork.action.GreetingAction2Version$ProvinceCls@18558d2
com.signori.webwork.action.GreetingAction2Version$ProvinceCls@18a47e0
com.signori.webwork.action.GreetingAction2Version$ProvinceCls@174cc1f
GreetingAction2Version g = new GreetingAction2Version();
List list = g.getProvinces();
Iterator i = list.iterator();
while (i.hasNext()) {
ProvinceCls pc = (ProvinceCls)i.next();
System.out.print(pc.getKey() + " ");
System.out.println(pc.getValue());
}
}输出:
1 江苏省
2 浙江省
3 广东省
4 海南省
你应该在<ww:select label="省份" list="provinces" name="province" listKey="key" listValue="value"/>前面打印<%
List provinces = page.getAttribute("provinces");
System.out.println(provinces );
%>
<ww:select label="省份" list="provinces" name="province" listKey="key" listValue="value"/>
provinces.put(key,value);
再jsp中用<ww:select label="省份" list="provinces" name="province" listKey="key" listValue="value"/>