gpt4 book ai didi

java - 处理JSP中复杂的HashMap显示

转载 作者:行者123 更新时间:2023-12-02 00:03:59 25 4
gpt4 key购买 nike

我有一个 Hashmap 对象 allList形式为 HashMap<String,ArrayList<Item>> 。我想将我的 JSP 页面显示为 jquery accordion 。下面是我尝试过的代码。

<script type="text/javascript">
$(function() {
$( "#accordion" ).accordion({
heightStyle: "fill",
collapsible: true
});
});

</script>

<div id="accordion">
<c:forEach items="${allList}" var="myLs">
<h3>${myLs.key}</h3>
<div>${myLs.value}</div> // This is giving me toString of Item.
</c:forEach>
</div>

我能够将 HashMap 的键显示为标题。但我无法弄清楚如何将相应的 arraylist 对象显示为有序列表。请帮帮我。

public class Item implements java.io.Serializable, Comparable<Object> {
private Long id;
private String itemName;
private Double unitCost;
private String status;
private int quantity;
public Item() {
}
//getters and setters
public boolean equals(Object o) {
if (this == o) {
return true;
}
if (!(o instanceof Item)) {
return false;
}
final Item item = (Item) o;
if (getItemName() != null && item.getItemName() == null)
return false;
if (getItemName() == null && item.getItemName() != null)
return false;
if (!getItemName().equals(item.getItemName()))
return false;
return true;
}
public int hashCode() {
return getItemName().hashCode();
}

public String toString() {
return "Item - Id: "+getId+", Name : "+getItemName;
}
public int compareTo(Object o) {
if (o instanceof Item) {
return getItemName().compareTo(((Item) o).getItemName());
}
return 0;
}
}

最佳答案

您将使用第二个 forEach 循环:

<div id="accordion">
<c:forEach items="${allList}" var="myLs">
<h3>${myLs.key}</h3>
<div>
<c:forEach var="item" items="${myLs.value}">
${item.foo}, ${item.bar} <br/>
</c:forEach>
</div>
</c:forEach>
</div>

我认为您因错误的命名选择而感到困惑。你应该'命名Map<String, ArrayList<Item>> allList ,因为它不是列表,而是 map 。并且您不应该将 map 条目命名为 myLs因为它没有任何意义。我会将代码重构为(例如,假设 map 中的键代表项目的所有者)

<div id="accordion">
<c:forEach items="${itemsPerOwner}" var="itemsPerOwnerEntry">
<h3>${itemsPerOwnerEntry.key}</h3>
<div>
<c:forEach var="item" items="${itemsPerOwnerEntry.value}">
${item.foo}, ${item.bar} <br/>
</c:forEach>
</div>
</c:forEach>
</div>

关于java - 处理JSP中复杂的HashMap显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14257980/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com