0

When I insert this into my xhtml I'll get the javax.el.PropertyNotFoundException: Target Unreachable, identifier 'telefonbuch' resolved to null

            <h3>Auswahl</h3>
            <h1:panelGrid columns="2" style="margin-bottom:10px" cellpadding="5">
            <p:outputLabel for="geschaeftsstelle" value="Geschäftsstelle:" />
            <p:selectOneRadio id="geschaeftsstelle" value="#{telefonbuch.geschaeftsstelle}"  layout="grid" columns="3">
            <f:selectItems value="#{telefonbuch.geschaeftsstellen}" var="c" itemLabel="#{geschaeftsstelle}" itemValue="#{geschaeftsstelle}"/>
            </p:selectOneRadio>
            </h1:panelGrid>

My model class looks like this:

@Data
@Entity
public class Telefonbuch {
    @PostConstruct
    public void init() {
        geschaeftsstellen = new ArrayList<String>();
        geschaeftsstellen.add("Dortmund");
        geschaeftsstellen.add("Essen");
        geschaeftsstellen.add("Stralsund");
        geschaeftsstellen.add("Stuttgart");
        geschaeftsstellen.add("Zürich");
        geschaeftsstellen.add("Istanbul");
        geschaeftsstellen.add("Köln");
        geschaeftsstellen.add("Aachen");
        geschaeftsstellen.add("Berlin");
    }

    public String getGeschaeftsstelle() {
        return geschaeftsstelle;
    }

    public void setGeschaeftsstelle(String geschaeftsstelle) {
        this.geschaeftsstelle = geschaeftsstelle;
    }

    public List<String> getGeschaeftsstellen() {
        return geschaeftsstellen;
    }

    public void setGeschaeftsstellen(List<String> geschaeftsstellen) {
        this.geschaeftsstellen = geschaeftsstellen;
    }

    @Id
    @GeneratedValue(strategy = GenerationType.AUTO)
    private Long id;
    @Column
    private String vorname;
    @Column
    private String nachname;
    @Column
    private String telefonnummer;
    @Column
    private String handynummer;
    @Column
    private String geschaeftsstelle;

    @Column
    @ElementCollection
    private List<String> geschaeftsstellen; 

    protected Telefonbuch() {
    }

    public Telefonbuch(String vorname, String nachname, String telefonnummer, String handynummer) {
        this.vorname = vorname;
        this.nachname = nachname;
        this.telefonnummer = telefonnummer;
        this.handynummer = handynummer;
    }

I don't know what the problem is. The buttons won't be shown. Just the heading is there. No choices.

CptDayDreamer
  • 686
  • 3
  • 12
  • 37
  • Possible duplicate of [Identifying and solving javax.el.PropertyNotFoundException: Target Unreachable](https://stackoverflow.com/questions/30128395/identifying-and-solving-javax-el-propertynotfoundexception-target-unreachable) – Kukeltje Dec 12 '18 at 16:42

1 Answers1

0

Just clean your project and it should work fine.

I don't know is it your case, but whenever i have similar problem, cleaning project and reloading server solved it for me.

EDIT:

I will assume that @Data and @Entity are valid identifiers in this case (because i am always using @ManagedBean, and store it in some DTO class later.

Also i think that this line:

<f:selectItems value="#{telefonbuch.geschaeftsstellen}" var="c" itemLabel="#{geschaeftsstelle}" itemValue="#{geschaeftsstelle}"/>

should look like this:

<f:selectItems value="#{telefonbuch.geschaeftsstellen}" var="c" itemLabel="#{c.geschaeftsstelle}" itemValue="#{c.geschaeftsstelle}"/>
Mika Alas
  • 102
  • 4