我正在尝试在JSP中使用此代码片段循环遍历HashMap。当jsp加载时
HashMap<Integer, Item> itemsMap = new HashMap<Integer, Item>();
itemsMap = customer1.getItems();
for(Map.Entry<Integer, Item> entry:itemsMap.entrySet()){
Integer k=entry.getKey();
Item item=entry.getValue();
}
当我尝试加载jsp时,显示出以下错误:
org.apache.jasper.JasperException: Unable to compile class for JSP:
An error occurred at line: 159 in the jsp file: /JSP/cart.jsp
Type mismatch: cannot convert from HashMap<Integer,Item> to HashMap<Integer,Item>
156: // HashMap itemsMap = customer1.getItems();
157: // for(Iterator i = itemsMap.keySet().iterator();i.hasNext();){
158: HashMap<Integer, Item> itemsMap = new HashMap<Integer, Item>();
159: itemsMap = customer1.getItems();
160: for(Map.Entry<Integer, Item> entry:itemsMap.entrySet()){
161: Integer k=entry.getKey();
162: Item item=entry.getValue();
当我在servlet中使用相同的代码完成相同的目的时,它运行得很好。请问有人能告诉我我在这里做错了什么吗?谢谢。
下面是相关的类:
public class Customer {
private String name;
private String address;
// private ArrayList<Item> items = new ArrayList<Item>();
private HashMap<Integer,Item> items=new HashMap<Integer,Item>();
public Customer() {
}
public HashMap<Integer,Item> getItems(){ return items;}
}
public static class Item {
private String name;
private String skew;
private String amount;
public Item(String name, String skew, String amount) {
this.name=name; this.skew=skew; this.amount=amount;
}
}
Item
类导入到 JSP 页面,并且它是正确的Item
类。 - Zirconpublic class Customer { private String name; private String address; // private ArrayList- items = new ArrayList
- ();
private HashMap
items=new HashMap();
public Customer(){ }
public HashMap getItems(){
return items;}
}
public class Item { private String name; private String skew; private String amount; public Item(String name, String skew, String amount){ this.name=name; this.skew=skew; this.amount=amount; }}
- Praneeth