Цель недостижима, идентификатор студента преобразован в ноль - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть похожая проблема, описанная здесь, но ни один из советов не помог. Пожалуйста, помогите мне разобраться. Ценю любую помощь. Похоже, что бин не определен и принят в Facelet. Ниже я прикрепил бин "Student", x html, web. xml, face-config. xml, gassfi sh -web. xml и ошибку, которую я получаю при исполнении.

Сервер: glassfish5.
java: jre1.8.0_212
Затмение: 2020-03

//Bean:
package com.practicaljava.lesson29.beans;

import java.io.Serializable;
import javax.enterprise.context.RequestScoped;
import javax.inject.Named;

@Named("student")
@RequestScoped
public class Student implements Serializable {

    private static final long serialVersionUID = -8368123596876964850L;
    private long studentId;
    private String name;
    private int classId;
    public long getStudentId() {
        return studentId;
    }
    public void setStudentId(long studentId) {
        this.studentId = studentId;
    }
    public String getName() {
        return name;
    }
    public void setName(String name) {
        this.name = name;
    }
    public int getClassId() {
        return classId;
    }
    public void setClassId(int classId) {
        this.classId = classId;
    }
}

X HTML:

<ui:define name="content">
    <h:form>
            <h:outputText value="Student Name:"/>
            <h:inputText  value="#{student.name}" title="name" id="name" required="true" /> <br/>
            <h:outputText value="Student ID:"/>
            <h:inputText  value="#{student.studentId}" title="id" id="studentId" required="true" /> <br/>
            <h:outputText value="Class ID:"/>
            <h:inputText  value="#{student.classId}" title="classId" id="classId" required="true" /> <br/>
            <h:commandButton action="Enrolled" value="submit" />
    </h:form>
</ui:define>

WEB. xml:

<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xmlns.jcp.org/xml/ns/javaee" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-app_4_0.xsd" version="4.0">
  <display-name>Lesson29</display-name>
  <servlet>
    <servlet-name>Faces Servlet</servlet-name>
    <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
  </servlet>
  <servlet-mapping>
    <servlet-name>Faces Servlet</servlet-name>
    <url-pattern>/faces/*</url-pattern>
  </servlet-mapping>
</web-app>

face-config:

<?xml version="1.0" encoding="UTF-8"?>
<faces-config
    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-facesconfig_2_3.xsd"
    version="2.3">
</faces-config>

glassfi sh -web:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE glassfish-web-app PUBLIC "-//GlassFish.org//DTD GlassFish Application Server 3.1 Servlet 3.0//EN" "http://glassfish.org/dtds/glassfish-web-app_3_0-1.dtd">
<glassfish-web-app>
    <context-root>/Lesson29</context-root>
</glassfish-web-app>

сообщение об ошибке:

exception 
javax.servlet.ServletException: /EnrollStudent.xhtml @14,89 value="#{student.name}": Target Unreachable, identifier 'student' resolved to null
root cause 
javax.el.PropertyNotFoundException: /EnrollStudent.xhtml @14,89 value="#{student.name}": Target Unreachable, identifier 'student' resolved to null
root cause 
javax.el.PropertyNotFoundException: Target Unreachable, identifier 'student' resolved to null
...