javax.el.PropertyNotFoundException : Property 'rollno' not found on type java. lang.String

标签 java jakarta-ee

我浏览了许多有关此异常的链接。不知道是action类有问题还是jsp有问题

我的 DAO 是:

         {
            ReleaseData releaseData = new ReleaseData();
            releaseData.setRollno(resultSet.getInt("rollno"));
            releaseData.setName(resultSet.getString("name"));
            releaseData.setAge(resultSet.getInt("age"));
            myDataList.add(releaseData);
            System.out.println("the List has---"+myDataList);
        }

我的 Servlet 是:

            public class DisplayServlet extends HttpServlet
          {
                public void doGet(HttpServletRequest request ,HttpServletResponse  response) throws ServletException,IOException
{
    List<ReleaseData> myDataList = new ReleaseDataDAO().getReleaseData();
    request.setAttribute("myDataList", myDataList);
    request.getRequestDispatcher("/showData.jsp").forward(request, response);
}
}

这是我的jsp:

<c:forEach items="$(myDataList)" var="data">
             <tr>
               <td>${data.rollno}</td>
                 <td>${data.name}</td>
                <td>${data.age}</td>

              </tr>
             </c:forEach>

最佳答案

嗯,我刚刚注意到,您使用的是 $() 而不是 ${},jsp 不是 jQuery :P 这个 $(myDataList) 不会被解释为 EL 表达式并成为字符串,请改为执行以下操作:${myDataList}

另外:

您需要创建 getter 和 setter 方法,在您提供的代码中我可以看到 rollno 的 set 方法,但没有 get 方法,而且它们必须是公共(public)的

public class ReleaseData{
    private int rollno = 0;
    private String name = "";
    private int age = 0;

    public int getRollno(){ return rollno; }
    public void setRollno(int rollno){ this.rollno = rollno; }

    public int getAge(){ return age; }
    public void setAge(int age){ this.age= age; }

    public String getName(){ return name; }
    public void setName(String name ){ this.name = name; }

}

此外,转义人类可以输入的任何数据总是好的。

<c:forEach items="${myDataList}" var="data">
 <tr>
   <td><c:out value="${data.rollno}" /></td>
     <td><c:out value="${data.name}" /></td>
    <td><c:out value="${data.age}" /></td>

  </tr>
 </c:forEach>

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

相关文章:

java - GWT 多分页(最好/最简单的方法)

java - 虚拟主机 * :80 is not working

java - 将 reSTLet 与 Eclipse Virgo 结合使用

java - 当我在模块文件夹中有 jar 时,Webapp 没有部署在 glassfish 中

java - JSF:初始请求和回发请求?

java - moveTaskToBack(true) 总是返回 false

java - mxGraph 编辑器 - 拖动时克隆节点?

java - 如何检查输入字符串是否是现有对象的名称?

java - 调整自动完成字段大小黑莓

jpa - 在回调事件 : 'prePersist' 上执行自动 Bean 验证时违反了 Bean 验证约束