Java JSF Getter/Setter werden scheinbar nicht korrekt aufgelöst

Umbel

Lt. Commander
Registriert
Jan. 2009
Beiträge
1.571
Guten Abend,

ich habe eben gerade ein etwas merkwürdiges Verhalten festgestellt, bei dem ich nicht sicher bin ob es ein Bug ist oder ich einen Denkfehler habe.

Wenn ich eine Variable aus einer Bean in einer JSF-View ansprechen will gebe ich den Namen in der EL an.

Code:
<h:outputText value="#{bean.entity.property}" />

Hierbei sollte JSF jetzt also in der Bean getEntity() und darin getProperty() aufrufen. Es sollte dabei egal sein ob es eine Variable namens 'property' gibt oder ob die 'hans' heißt. Hauptsache es gibt einen "getProperty"-Getter.

Jetzt habe ich konrekt die Property eMail aufrufen wollen. Es gibt die Methoden
Code:
	public String getEMail() {
		return this.eMail;
	}

	public void setEMail(String eMail) {
		this.eMail = eMail;
	}

doch trotzdem schmeißt der Server den Fehler "The class 'entity' does not have the property 'eMail'." wenn ich hingegen EMail addressiere klappt es. Bei anderen Variablen wie 'firstName' passiert es nicht. Scheint also ein Problem mit einem kleinen/großen Buchstaben zu sein.

Hat das einer von euch schonmal beobachtet?
 
Hi,

ich glaube, dass bei der Schreibweise irgendwie die Groß- und Kleinschreibung besonders beachtet werden muss.

Lass mal die getter und setter Methoden von Netbeans/Eclipse generieren.

Wenn ich die entsprechenden Methoden zur Variable eMail automatisch von Netbeans generieren lasse, erhalte ich die folgenden getter und setter:

Code:
 public String geteMail() {
        return eMail;
    }

    public void seteMail(String eMail) {
        this.eMail = eMail;
    }

Alternativ kannst du die Variable eMail auch in email umbenennen. Dann wäre die übliche getter/setter Bezeichnung einfach:

Code:
    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
 
Ah! Das ist sogar so spezifiziert, genau nach dem Hinweis hab ich gesucht. Danke euch.
 
Zurück
Oben