【问题标题】:Get Json Data on JSP Using JSTL from spring model从 spring 模型中使用 JSTL 获取 JSP 上的 Json 数据
【发布时间】:2015-08-07 16:31:09
【问题描述】:

在我的 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());

当我从jsp 上的json 获取值时:

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

例外是:-

${productsJson.productsData}' 在 java.lang.String 类型上找不到属性 'productsData'

【问题讨论】:

  • JSTL &lt;c:forEach 用于迭代 java 集合。不是json数据

标签: json spring jsp spring-mvc


【解决方案1】:

产生错误是因为您尝试使用字符串中的productsData。如果你想使用这个属性,你不应该在控制器中使用toString 方法。

即使你使用productsJson.productsData,我也不认为是正确的调用方式。您很可能应该使用productsJson['productsData']。这是因为 productsJsonMap 而不是 Object

【讨论】:

    猜你喜欢
    • 2011-10-30
    • 1970-01-01
    • 2019-08-04
    • 1970-01-01
    • 1970-01-01
    • 2012-05-20
    • 2017-06-19
    • 2021-05-02
    • 1970-01-01
    相关资源
    最近更新 更多