Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 在JSP中处理复杂的HashMap显示_Java_Jquery_Jsp_Jakarta Ee - Fatal编程技术网

Java 在JSP中处理复杂的HashMap显示

Java 在JSP中处理复杂的HashMap显示,java,jquery,jsp,jakarta-ee,Java,Jquery,Jsp,Jakarta Ee,我有一个Hashmap对象allList,格式为Hashmap。我想将它显示为我的JSP页面。下面是我尝试过的代码 <script type="text/javascript"> $(function() { $( "#accordion" ).accordion({ heightStyle: "fill", collapsible: true }); }); </script> <div id="accordi

我有一个Hashmap对象
allList
,格式为
Hashmap
。我想将它显示为我的JSP页面。下面是我尝试过的代码

<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>

$(函数(){
$(“手风琴”)。手风琴({
高度样式:“填充”,
可折叠:正确
});
});
${myLs.key}
${myLs.value}//这给了我一个项目的字符串。
我能够将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;
    }
}
public类项实现java.io.Serializable,可比较{
私人长id;
私有字符串itemName;
私人双单位成本;
私有字符串状态;
私人整数数量;
公共项目(){
}
//接球手和接球手
公共布尔等于(对象o){
if(this==o){
返回true;
}
如果(!(o项目实例)){
返回false;
}
最终项目=(项目)o;
if(getItemName()!=null&&item.getItemName()=null)
返回false;
if(getItemName()==null&&item.getItemName()!=null)
返回false;
如果(!getItemName().equals(item.getItemName()))
返回false;
返回true;
}
公共int hashCode(){
返回getItemName().hashCode();
}
公共字符串toString(){
返回“Item-Id:+getId+”,Name:+getItemName;
}
公共整数比较对象(对象o){
if(项目的o实例){
返回getItemName().compareTo(((Item)o.getItemName());
}
返回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>

您将使用第二个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>
请发布“项目”的来源。请发布“项目”的来源。