Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/329.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/jsp/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javax.el.PropertyNotFoundException:类“PureJavaClasses.employeeClass”没有属性“Id”_Java_Jsp_Servlets_Jstl_El - Fatal编程技术网

javax.el.PropertyNotFoundException:类“PureJavaClasses.employeeClass”没有属性“Id”

javax.el.PropertyNotFoundException:类“PureJavaClasses.employeeClass”没有属性“Id”,java,jsp,servlets,jstl,el,Java,Jsp,Servlets,Jstl,El,我一直在尝试通过ArrayList在Servlet的帮助下在JSP内部打印ResultSet。JDBC部分似乎没有问题。ArrayList可以在JSP内部获得并可以打印。但是当我想迭代传递给JSP的带有标记的列表时,这意味着我的bean类“PureJavaClasses.employeeClass”没有属性“Id”。我在SO上尝试了很多不同的解决方案,但都是徒劳的。我不知道该怎么做。我完全是JavaEE的初学者 下面是我的Bean类: public class employeeClass imp

我一直在尝试通过ArrayList在Servlet的帮助下在JSP内部打印ResultSet。JDBC部分似乎没有问题。ArrayList可以在JSP内部获得并可以打印。但是当我想迭代传递给JSP的带有标记的列表时,这意味着我的bean类“PureJavaClasses.employeeClass”没有属性“Id”。我在SO上尝试了很多不同的解决方案,但都是徒劳的。我不知道该怎么做。我完全是JavaEE的初学者

下面是我的Bean类:

public class employeeClass implements java.io.Serializable {
private int id;
private String name;
private String job;
private int subjectId;
private int salary;

public employeeClass() {

}

public int getId() {
    return id;
}

public void setId(int id) {
    this.id = id;
}

public String getName() {
    return name;
}

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

public String getJob() {
    return job;
}

public void setJob(String job) {
    this.job = job;
}

public int getSubjectid() {
    return subjectId;
}

public void setSubjectid(int subjectId) {
    this.subjectId = subjectId;
}

public int getSalary() {
    return salary;
}

public void setSalary(int salary) {
    this.salary = salary;
}

@Override
public String toString() {
    return  "id=" + id +
            ", name=" + name +
            ", job=" + job +
            ", subjectId=" + subjectId +
            ", salary=" + salary;
}
}
以下是servlet:

private void show_table(HttpServletRequest request,HttpServletResponse response){
    Connection connection = ServletLogin.connection;
    String query = "SELECT * FROM `dog`.`employee`";
    ArrayList<employeeClass> list = new ArrayList<>();
    try {
        PreparedStatement pst = connection.prepareStatement(query);
        ResultSet rs = pst.executeQuery();
        while(rs.next()){
            employeeClass obj2 = new employeeClass();
            obj2.setId(rs.getInt("ID"));
            obj2.setName(rs.getString("Name"));
            obj2.setJob(rs.getString("Job_Designation"));
            obj2.setSubjectid(rs.getInt("Subject ID"));
            obj2.setSalary(rs.getInt("Salary"));
            list.add(obj2);
        }
    } catch (SQLException e) {
        e.printStackTrace();
    }
    request.setAttribute("listEmp",list);
    try {
        request.getRequestDispatcher("/Pages/EmployeeTable.jsp").forward(request,response);
    } catch (ServletException e) {
        e.printStackTrace();
    } catch (IOException e) {
        e.printStackTrace();
    }
}
这是我的EmployeeTable.jsp:

    <%@ page contentType="text/html;charset=UTF-8" language="java" %>
<%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c" %>
<%@ page import="java.util.ArrayList"%>
<html>

<head>
    <title>Employee List</title>
</head>
<body>
<% ArrayList list1 =(ArrayList) request.getAttribute("listEmp"); %>
<%=list1%>
    <table>
        <th>ID</th>
        <th>Name</th>
        <th>Job Designation</th>
        <th>Subject ID</th>
        <th>Salary</th>
        <c:forEach items="${listEmp}" var="list">
            <tr>
                <td><c:out value="${list.Id}"/></td>
                <td><c:out value="${list.name}"/></td>
                <td><c:out value="${list.job}"/></td>
                <td><c:out value="${list.subjectId}"/></td>
                <td><c:out value="${list.salary}"/></td>
            </tr>
        </c:forEach>
    </table>
</body>
</html>
这是我的web.xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns="http://xmlns.jcp.org/xml/ns/javaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd"
         version="3.1">
    <servlet>
        <servlet-name>ServletLogin</servlet-name>
        <servlet-class>ServletLogin</servlet-class>
    </servlet>
    <servlet>
        <servlet-name>ServletEmployee</servlet-name>
        <servlet-class>ServletEmployee</servlet-class>
    </servlet>
    <servlet-mapping>
        <servlet-name>ServletLogin</servlet-name>
        <url-pattern>/ServletLogin</url-pattern>
    </servlet-mapping>
    <servlet-mapping>
        <servlet-name>ServletEmployee</servlet-name>
        <url-pattern>/ServletEmployee</url-pattern>
    </servlet-mapping>
    <session-config>
        <session-timeout>30</session-timeout>
    </session-config>

</web-app>

我认为您需要提供正确的名称来修复。比如使用id而不是id等等,这应该可以解决这个问题

<td><c:out value="${list.id}"/></td>

... list.Id应该是list.Id在no1edit没有结果之前,Id中的i不应该是大写。相同的旧属性notfoundexception如果你注释掉那一行,它会输出其他行,比如name和job吗?@FarazDurrani现在它是subjectId。但是当我注释掉subjectId时,它工作正常。