I'm trying to build simple JSF app using Glassfish as app server, and it's starting but after that this error is happening:
javax.el.PropertyNotFoundException: /index.xhtml @10,75 value="#{bean.genre}": Target Unreachable, identifier 'bean' resolved to null
at com.sun.faces.facelets.el.TagValueExpression.getType(TagValueExpression.java:100)
at com.sun.faces.renderkit.html_basic.HtmlBasicInputRenderer.getConvertedValue(HtmlBasicInputRenderer.java:95)....
I tried to change my Bean annotations to @Model and tried different kind of Scopes but that didn't helped.
this is my index.xhtml page:
<!DOCTYPE html>
<html xmlns="http://www.w3c.org/1999/xhtml"
  xmlns:h="http://xmlns.jcp.org/jsf/html"
  xmlns:f="http://java.sun.com/jsf/core"
  xmlns:p="http://primefaces.org/ui">
<h:head></h:head>
<h:body>
    <h:form id="genreForm">
        <h:outputLabel for="genre" value="genre" />
        <h:inputText id="genre" value="#{bean.genre}" label="genre" />
        <br/><br/>
        <p:commandButton action="#{bean.addGenre}" update="genreList"
                         value="Add genre" icon="ui-icon-check" style="margin:0"/>
        <br/>
        <br/>
        <h:dataTable  id="genreList" value="#{bean.getGenreList()}" var="g" border="1">
            <h:column>
                <f:facet name="header">
                    Genre id
                </f:facet>
                #{g.genreId}
            </h:column>
            <h:column>
                <f:facet name="header">
                    Name
                </f:facet>
                #{g.genre}
            </h:column>
        </h:dataTable>
    </h:form>
</h:body>
this is my Bean:
@ManagedBean(name = "Bean", eager = true)
@SessionScoped
public class Bean {
private int genreId;
private String genre;
public void addGenre() {
    GenreDAO dao = new GenreDAOImpl();
    Genre myGenre = new Genre();
    myGenre.setGenre(genre);
    dao.save(myGenre);
}
public String getGenre() {
    return genre;
}
public void setGenre(String genre) {
    this.genre = genre;
}
public int getGenreId() {
    return genreId;
}
public void setGenreId(int genreId) {
    this.genreId = genreId;
}
public List<Genre> getGenreList() {
    GenreDAO dao = new GenreDAOImpl();
    List<Genre> list = dao.findAll();
    return list;
}
}
 
     
     
    