昨天写Struts2迭代HashMap时,Key值可以迭代出来,value值迭代不出来,一直上网查相关的实例,网上写的有很多,但有一些不适用,下面我把我的代码说一下:
Message类和
ReplyMesage类
针对一个留言信息类和回复留言类做一下说明,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>
分享到:
相关推荐
Map<String, String> map = new HashMap<>(); map.put("name1", value1); dto.setMap(map); List<DTO> lst = new ArrayList<>(); lst.add(dto); session.setAttribute("listTop", lst); ``` **JSP:** ```jsp <logic...
2. **集合框架**:Java 集合框架是数据存储的重要工具,如 List(ArrayList、LinkedList)、Set(HashSet、TreeSet)、Map(HashMap、TreeMap)等接口及其实现类,还有泛型、迭代器和比较器的概念。 3. **IO 流**:...
JSP标签库如JSTL (<c:out>, <c:forEach>) 可以使JSP页面更加清晰和易维护。 HTML和JavaScript则涉及前端知识,理解和使用常见HTML标签,以及JavaScript的语法和DOM操作,是创建交互式Web应用的基础。 SSH(Spring...
- `<c:forEach>` 用于迭代集合或数组等。 ##### 14. 在进行JavaWeb开发时,假定一个变量保存在session中,要获得这个变量的值,可以使用以下哪个语句? **答案:c) session.getAttribute(“name”)** - **解析:*...
- HashMap的迭代器是fail-fast的,而Hashtable的enumerator不是。 6. **Collection 和 Collections**: - Collection 是所有集合类的父接口,代表单列集合,如List和Set。 - Collections 是一个工具类,提供了一...
- `<c:out …/>`、`<c:forEach…>`: JSTL标签。 - **HTML与JavaScript** - 常见的网页标签。 - 在网页中引入JavaScript的方法。 - JavaScript的基本语法与使用方法。 #### 三、JavaEE框架 **SSH(Spring、...
- List、Set和Map:理解这些集合接口及其常用的实现类,如ArrayList、LinkedList、HashSet、HashMap等。 - 泛型:学习如何使用泛型来增强类型安全。 - 遍历和操作集合:掌握迭代器的使用,以及集合的各种操作方法...
具体实现包括ArrayList、HashSet、HashMap,以及迭代器(Iterator)、equals()、hashCode()、Comparable和Comparator接口。 4. **常用类**:深入理解String类、常量池、StringBuilder和StringBuffer用于字符串操作,...
{2}Everything is an Object }{45}{chapter.2} {2.1}类与对象}{45}{section.2.1} {2.1.1}构造方法}{45}{subsection.2.1.1} {2.1.2}Java变量类型}{47}{subsection.2.1.2} {2.1.3}面向对象的编程}{47}{subsection...
33. **Iterator和ListIterator的区别**:ListIterator是Iterator的子接口,可以双向遍历List,并可以设置迭代器的当前位置。 34. **确保集合不可被修改的方法**:可以使用Collections.unmodifiableCollection()方法...
- 类:`BufferedReader`, `BufferedWriter`, `FileReader`, `FileWriter`, `String`, `Integer`, `System`, `Class`, `List`, `HashMap`, `java.util.Date` - 包:`java.lang`, `java.io`, `java.util`, `java.sql...
- **定义**: Struts2、Spring和Hibernate三个开源框架组成的Java Web开发架构。 - **内容要点**: - Struts2的控制器机制 - Spring框架的核心原理 - Hibernate的对象关系映射技术 - **学习资源**: - 马士兵关于...
- Collection框架提供了List、Set、Queue等集合接口和具体的实现类,以及各种迭代器和工具类,方便高效地管理对象集合。 #### 三十、单例模式实现 单例模式确保一个类只有一个实例,并提供一个全局访问点。 ```...
动态INCLUDE用jsp:include动作实现 <jsp:include page="included.jsp" flush="true" />它总是会检查所含文件中的变化,适合用于包含动态页面,并且可以带参数。 静态INCLUDE用include伪码实现,定不会检查所含文件...