Ich habe einen Artikel DTO (Artikel.java; Codeauszüge)
%Vor%Ich habe eine Ansichtsvorlage zum Bearbeiten des Artikels (edit_article.xhtml; Codeauszüge):
%Vor%und ich habe eine View-Back-Bean (HqArticleView.java; Code-Auszüge):
%Vor%Das Problem ist: Ich versuche auf die Ansicht zuzugreifen, die ich einen Fehler erhalte: Die Klasse Artikel hat keine beschreibbare Eigenschaft 'ID'. Alle anderen Felder aus dem Artikel werden korrekt verarbeitet, nur die ID ist ein Problem. Seltsam ist, wenn ich den ID-Getter und Setter des Article-Objekts innerhalb der Bean in:
umschlinge %Vor%dann funktioniert es perfekt. Was vermisse ich?
Beim Prüfen des Eigenschaftstyps zum Lesen untersucht EL den Rückgabetyp des Getters:
%Vor% Es ist also vom Typ Integer
. Wenn EL den geänderten Wert schreiben muss, erwartet EL einen Setter vom gleichen Typ:
In der Klasse Article
ist jedoch kein solcher Setter vorhanden. Stattdessen haben Sie einen Setter, der ein int
übernimmt. Genau deswegen hat EL ein PropertyNotWritableException
geworfen. Das bedeutet, dass kein passender Setter gefunden werden konnte, der genau den gleichen Typ hatte. Repariere es entsprechend, indem du Integer
anstelle von int
im Setter verwendest (oder in diesem speziellen Fall besser, indem du int
anstelle von Integer
im Getter verwendest).
Dass es funktionierte, als du das Modell im Controller explodierst (schlechte Praxis übrigens), ist, dass Getter und Setter einander angepasst haben.
Tags und Links jsf jsf-2 primefaces el