昨天写Struts2迭代HashMap时,Key值可以迭代出来,value值迭代不出来,一直上网查相关的实例,网上写的有很多,但有一些不适用,下面我把我的代码说一下:
[color=green]Message[/color]类和[color=green]ReplyMesage[/color]类
针对一个留言信息类和回复留言类做一下说明,Message类与ReplyMessage类的关系是1:m关系,
我将ReplyMessage类封装到一个List<ReplyMessage>中,对象为 replyList
前台迭代代码
[color=green]Message[/color]类和[color=green]ReplyMesage[/color]类
针对一个留言信息类和回复留言类做一下说明,Message类与ReplyMessage类的关系是1:m关系,
我将ReplyMessage类封装到一个List<ReplyMessage>中,对象为 replyList
private HashMap<Message,List<ReplyMessage>> hashmap;
hashmap = new HashMap<Message,List<ReplyMessage>>();
List<Message> messageList = this.messagePagination.getResults();
Iterator it = messageList.iterator();
while(it.hasNext()){
Message message = (Message) it.next();
Long message_id = message.getId();
List<ReplyMessage> replyMessageList = this.replyMessageDao.findByMessageFKID(message_id);
hashmap.put(message, replyMessageList);
}
前台迭代代码
<s:iterator value="hashmap.keySet()" id="message" status="first">
<s:property value="#message.messageTitle"/><br/>
<s:iterator value="hashmap.get(#message)" status="second">
<s:property value="content"/><br/>
</s:iterator>
</s:iterator>