У меня есть похожая проблема, описанная здесь, но ни один из советов не помог. Пожалуйста, помогите мне разобраться. Ценю любую помощь. Похоже, что бин не определен и принят в 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