用Map出现错误:CaseInsensitiveHashMap cannot be cast to java.lang.String

babybird1117 2015-04-09 05:31:14
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这里就出现问题。

上面错误上显示的83行: String map=(String)it.next();

今天卡一天了。
...全文
360 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
babybird1117 2015-04-10
  • 打赏
  • 举报
回复
引用 1 楼 net_lover 的回复:
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);
FindBookDAO.findByNamelike也是List<String>返回类型的, 那List<CaseInsensitiveHashMap> 是不是相当于 List<Map>把List强制成Map类型了么??
孟子E章 2015-04-09
  • 打赏
  • 举报
回复
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);

10,608

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 其他
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧