javax.el.PropertyNotFoundException : Property 'genero' not found on type model.

标签 java xml netbeans jstl tomcat8

我在尝试使用 RankingResult 类的简单 ArrayList 中的信息填充 xml 文件时遇到上述错误。经过一番搜索后,我发现大多数出现此错误的人都在 xml 中犯了拼写错误,但这里的情况似乎并非如此(如果是的话,我会觉得很愚蠢)。

我已经有一个非常类似的事情正在发生并且工作得很好( Controller 重定向到一个 xml,发送一个对象的 ArrayList,然后由 打印,所以我完全迷失了。

这是一些代码:

“ranking.jsp”xml

<?xml version="1.0" encoding="UTF-8"?>
<%@page contentType="application/xml" pageEncoding="UTF-8"%>
<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core"%>

<data>
    <c:forEach items="${results}" var="result">
        <tr>
            <td>${result.genero}</td>
            <td><c:out value="${result.quantidade}"/></td>
        </tr>
    </c:forEach>
</data>

Controller doPost()

@Override
protected void doPost(HttpServletRequest request, HttpServletResponse response)
        throws ServletException, IOException {
    String ator = request.getParameter("ator");
    String diretor = request.getParameter("diretor");

    ArrayList<RankingResult> results = null;

    try{
        BuscaDAO b2DAO = new BuscaDAO();
        results = b2DAO.busca2(ator, diretor);

    } catch(DAOException | SQLException ex) {
        Logger.getLogger(Busca1.class.getName()).log(Level.SEVERE, null, ex);
    }

    request.setAttribute("results", results);
    request.getRequestDispatcher("/WEB-INF/xml/ranking.jsp").forward(request, response);    
}

调试确认“结果”ArrayList 已正确填充。

RankingResult 类:

public class RankingResult {
    public final String genero;
    public final int quantidade;

    public RankingResult(String genero, int quantidade){
        this.genero = genero;
        this.quantidade = quantidade;
    }
}

项目树:

Project tree(1) Project tree(2)

最佳答案

这个消息绝对正确。您的类(class)中没有属性名称genero。您有一个名为genero的公共(public)字段。但 JSP EL 适用于 Java Bean 属性。你需要一个

public String getGenero() {
    return this.genero;
}

您的 RankingResult 类中的方法。

一般而言,使用公共(public)字段是不好的做法,并且不能与 JSP EL 一起使用,JSP EL 是围绕 Java Beans 约定设计的。

关于javax.el.PropertyNotFoundException : Property 'genero' not found on type model.,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44746265/

相关文章:

Hibernate+SQLite+Netbeans

java - NetBeans 中文件名后面的 [-/M] 表示什么?

java - Android中不同的apk签名

c# - 调用 XmlWriter.WriteElementString 时防止字符转义

java - 如何使用 JAVA 在 Web 应用程序中导入和显示 3D 文件(.STL)?

javascript - Node.js 和 xml2js - 将相同类型的多个属性渲染到不起作用的元素中

c# - 如何使用 XDocument.Save 使用属性的自定义缩进保存文件

c++ - 如何查看NetBeans for C++应用程序中的内存泄漏?

java - 如何在cocos2d-android中找到 Sprite 是否与其他 Sprite 发生碰撞?

java - 在不考虑计算资源的情况下,套接字可以处理的最大并发连接数是多少?