编程语言
首页 > 编程语言> > spring – javax.el.PropertyNotFoundException:类’java.lang.String’没有属性

spring – javax.el.PropertyNotFoundException:类’java.lang.String’没有属性

作者:互联网

我正在创建Sample Spring MVC应用程序.在我的Controller类中,我定义如下:

Map<String, Object> myModel = new HashMap<String, Object>();
        myModel.put("now", now);
        myModel.put("products", this.productManager.getProducts());

        return new ModelAndView("hello", "model", myModel);

当我在JSP文件中放入以下部分时,我得到了javax.el.PropertyNotFoundException异常

<c:forEach items="${model.products}" var="prod">
        <c:out value="${prod.description}"/> <i>$<c:out value="${prod.price}"/></i><br><br>
    </c:forEach>

这是我的完全例外:

javax.el.PropertyNotFoundException: The class 'java.lang.String' does not have the property 'description'.

但在我的域类中,私有Sting描述属性具有公共getter和setter. Product类是公共类.

产品类别:

public class Product implements Serializable {
    private String description;
    private Double price;

    public String getDescription() {
        return description;
    }

    public void setDescription(String description) {
        this.description = description;
    }

    public Double getPrice() {
        return price;
    }

    public void setPrice(Double price) {
        this.price = price;
    }

}

PS:

如果我像这样使用它的工作

<c:forEach items="${model.products}" var="prod"  varStatus="status">        
        <c:out value="${model.products[status.count -1].description}"/> <i>$<c:out value="${model.products[status.count -1].price}"/></i><br><br>
    </c:forEach> 

但建议的解决方案不工作:(

解决方法:

也许检查你的taglib导入:

<%@ taglib prefix="c" uri="http://java.sun.com/jstl/core" %>

<%@ taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %> 

您的Product类及其getter是否可访问?通过这个我广泛的意思是他们公开吗?

http://forum.springsource.org/showthread.php?58420-Problem-with-javax.el.PropertyNotFoundException.

标签:jsp,spring-mvc,spring,jsp-tags
来源: https://codeday.me/bug/20190530/1186023.html