Hello,
I am new to the world of Java EE. That's why the problem may seem so absurd. However, I couldn't find any solution that works for my problem. My problem is this:
I have a ".xhtml" file. prompts the user to enter a username. I need to print the information entered with the "Login" button on the label under the button. This is a bit silly
 because I did it for the purpose of learning. but the CDI Bean in "#{...}" is not reachable. How can i solve this. I have searched many forums on the internet.
 
Error received:
Exception: jakarta.servlet.ServletException: /login.xhtml @14,242 value="#{LoginCDIBean.tcNoInfo}": Target Unreachable, identifier 'LoginCDIBean' resolved to null
Root Cause: jakarta.el.PropertyNotFoundException: /login.xhtml @14,242 value="#{LoginCDIBean.tcNoInfo}": Target Unreachable, identifier 'LoginCDIBean' resolved to null
 
CDI Bean Code:
 
/*
* Click nbfs://nbhost/SystemFileSystem/Templates/Licenses/license-default.txt to change this license
* Click nbfs://nbhost/SystemFileSystem/Templates/JSF/JSFManagedBean.java to edit this template
*/
package tr.com.bilisim.cdibeans;
 
import jakarta.enterprise.context.SessionScoped;
import jakarta.inject.Named;
import java.io.Serializable;
 
/**
*
* @author Mehmet Fatih ÇİN
*/
@Named
@SessionScoped
public class LoginCDIBean implements Serializable {
 
    private String tcNoInfo = "";
   
    /**
     * Creates a new instance of LoginManagedBean
     */
    public LoginCDIBean() {
        this.tcNoInfo = "1234567890";
    }
 
    public String getTcNoInfo() {
        if (Kontrol(tcNoInfo) == true) {
            return tcNoInfo;
        } else {
            return "Hata    ";
        }
    }
 
    public void setTcNoInfo(String tcNoInfo) {
        this.tcNoInfo = tcNoInfo;
    }
 
    private Boolean Kontrol(String str) {
        if (str.length() == 11) {
            return true;
        } else {
            return false;
        }
    }
}
 
Login.xhtml Code:
 
<?xml version='1.0' encoding='UTF-8' ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd>
<html xmlns=http://www.w3.org/1999/xhtml
      xmlns:h=http://xmlns.jcp.org/jsf/html
      xmlns:p=http://xmlns.jcp.org/jsf/passthrough
      xmlns:f=http://xmlns.jcp.org/jsf/core>
    <h:head>
        <title>Giriş Sayfası</title>
    </h:head>
    <h:body>
        <f:view>
            <h:form id="giris-form">
                <h:outputText id="kullanici-label" style="font-family: Verdana; font-size: 12pt" value="Kullanıcı Adı"/><br/><br/>
                <h:inputText id="kullanici-text" value="#{LoginCDIBean.tcNoInfo}" style="font-family: Verdana; font-size: 10pt" p:placeholder="Kullanıcı Adınızı Giriniz." required="true"
 requiredMessage="Kullanıcı Adı Alanı Boş Geçilemez."/><br/>
                <h:message for="">
                <h:commandButton id="gonder-button" value="Giriş Yap"/>
                <h:outputText id="cikti-label" value="#{LoginCDIBean.tcNoInfo}"/>
                
            </h:form>
        </f:view>
    </h:body>
</html>
 
Where is my mistake according to these codes? My dependencies:
 
jakarta.jakartaee-api-9.1.0.jar
GlassFish Server 6.2.5
Apache NetBeans 15
 
 
Mehmet Fatih ÇİN