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