你的分享就是我们的动力 ---﹥

用Map出现异常:CaseInsensitiveHashMap cannot be cast to java.lang.String

用Map出现错误:CaseInsensitiveHashMap cannot be cast to java.lang.String
action里的部分代码
  List<String> list=FindBookDAO.findByNamelike(keyword);
   ActionContext.getContext().put("books",list);
   Map<String,String> books=new LinkedHashMap<String,String>();
   Iterator<String> it=list.iterator();
   while(it.hasNext())
   {
   String map=(String)it.next();
  books.put("books", map);
   }
   setResult(books);


所有的类型我都已经强制转换过了,编译通过了,但是jsp  跳转到action这里就出现问题。
用Map出现异常:CaseInsensitiveHashMap cannot be cast to java.lang.String
上面错误上显示的83行:  String map=(String)it.next();

今天卡一天了。
------解决思路----------------------
FindBookDAO.findByNamelike返回的应该不是String类型的List,你可以试试
List<CaseInsensitiveHashMap> list=FindBookDAO.findByNamelike(keyword);
           ActionContext.getContext().put("books",list);
           Map<String,CaseInsensitiveHashMap> books=new LinkedHashMap<String,CaseInsensitiveHashMap>();
           Iterator<CaseInsensitiveHashMap> it=list.iterator();
           while(it.hasNext())
           {
               CaseInsensitiveHashMapmap=(CaseInsensitiveHashMap)it.next();
          books.put("books", map);
           }
           setResult(books);