从Spring模型中使用JSTL获取JSP上的Json数据

时间:2015-05-26 06:34:20

标签: json spring jsp spring-mvc

在我的spring控制器中,我创建了一个json:

{
    "productsData": [
        {
            "code": "0100",
            "name": "Shirt",
            "summary": "Shirt for males"
        },
        {
            "code": "0101",
            "name": " Shirt 1",
            "summary": "Shirt for males"
        },
        {
            "code": "0102",
            "name": "Shirt 2",
            "summary": "Shirt for males"
        }
    ]
}

并将此json添加到模型属性中:

model.addAttribute("productsJson", responseDetailsJson.toString());

当我从json jsp获取值时:

<c:if test="${not empty productsJson}">
<c:out value="${productsJson.productsData}"></c:out>
<c:forEach var="product" items="${productsJson.productsData}">
</c:forEach>

例外是: -

  

$ {productsJson.productsData}&#39; Property&#39; productsData&#39;在类型java.lang.String

上找不到

1 个答案:

答案 0 :(得分:2)

产生错误是因为您尝试使用String中的productsData。如果要使用此属性,则不应在控制器中使用toString方法。

即使您使用productsJson.productsData,我也不认为这是调用它的正确方法。您最有可能使用productsJson['productsData']。这是因为productsJsonMap而不是Object