Was tun, wenn eine javax.el.PropertyNotWritableException auftritt?

Ereignis: Ich war wütend, dass ich keinen Wert für Bean festlegen konnte, als ich die Übermittlungsverarbeitung über den Bildschirm ausführte

--Umgebung

javax.el.PropertyNotWritableException: /admin/ponsuke/ponsuke.xhtml @52,92 value="#{item.mailAddress}": The class 'jp.co.my.app.Item' does not have a writable property 'mailAddress'.
    at com.sun.faces.facelets.el.TagValueExpression.setValue(TagValueExpression.java:99)
    at javax.faces.component.UIInput.updateModel(UIInput.java:859)
    at javax.faces.component.UIInput.processUpdates(UIInput.java:773)
    at com.sun.faces.facelets.component.UIRepeat.process(UIRepeat.java:571)

Ein ... sein ...

<!--Kürzung-->
  <ui:repeat var="category" varStatus="index" value="#{ponsukeController.categories}">
    <ui:repeat var="item" varStatus="status" value="#{category.itemList}">
        <td class="form-inline">
          <h:inputText value="#{item.mailAddress}" />
<!--Kürzung-->

Kein Setter?

PonsukeController


//Kürzung
/**Kategorie Informationsliste. */
@Getter
@Setter
private List<Category> categories;
//Kürzung

Ursache: Die untergeordnete Klasse hat kein "@ Setter"

Ahhhh, "@ Value" enthielt nicht "@ Setter" ...

In practice, @Value is shorthand for: final @ToString @EqualsAndHashCode @AllArgsConstructor @FieldDefaults(makeFinal = true, level = AccessLevel.PRIVATE) @Getter, except that explicitly including an implementation of any of the relevant methods simply means that part won't be generated and no warning will be emitted. @Value - projectlombok.org

Category


import lombok.Value;

@Value
public class Category {
    List<Item> itemList;
}

Item


import lombok.Value;

@Value
public class Item {
    int itemId;
    String mailAddress;
}

Aktion: Ändern Sie die Annotation der Klasse mit der festzulegenden Eigenschaft

Dieses Mal ist "@ Value" angehängt, und ich verwende die Rolle von "@ AllArgsConstructor" an anderer Stelle [@Getter @AllArgsConstructor] + [@Setter] = [@Data @AllArgsConstructor] Ich beschloss zu wechseln. Da die Eigenschaft von class Category List ist und nur der Inhalt geändert wird, wird die Anmerkung nicht geändert.

Item


import lombok.AllArgsConstructor;
import lombok.Data;

@Data
@AllArgsConstructor
public class Item {
//Kürzung

Apropos Das individuelle Hinzufügen von "@ Setter" zu den Eigenschaften "itemList" und "mailAddress" führt zu einem Kompilierungsfehler. PropertyNotWritableException trat auch dann auf, wenn "@ Setter" zusätzlich zu "@ Value" zur Klasse hinzugefügt wurde. Ich denke, das liegt wahrscheinlich daran, dass es "@FieldDefaults (makeFinal = true, level = AccessLevel.PRIVATE)" gibt.

To add final to each (instance) field, use @FieldDefaults(makeFinal=true). Any non-final field which must remain nonfinal can be annotated with @NonFinal (also in the lombok.experimental package). @FieldDefaults - projectlombok.org

Recommended Posts

Was tun, wenn eine javax.el.PropertyNotWritableException auftritt?
Was tun, wenn eine javax.batch.operations.JobStartException auftritt?
Was tun, wenn in PlayFramework eine IllegalStateException auftritt?
Hinweise zur Vorgehensweise beim Auftreten einer WebView ClassNotFoundException in JavaFX 12
Fehler ExecJS :: RuntimeUnavailable: Was tun, wenn es auftritt?
undefinierte Methode Was tun, wenn Sie "user_signed_in" erhalten?
Was tun bei Problem während der Inhaltsunterstützung?
Was tun, wenn Sie mit Docker-Compose auf das Problem node_modules stoßen?
Was tun, wenn bei Verwendung von Liferay 7 / DXP unter AWS ein SAX-Parser-Fehler auftritt?
[Rails 6] Was tun, wenn nach der Einführung von haml ein fehlender Vorlagenfehler auftritt? [Super easy]
Was tun beim Debuggen von "Quelle nicht gefunden"?
Was verwenden Sie beim Konvertieren in String?
Was tun, wenn ein Fehler auftritt, wenn nokogiri bei der Bundle-Installation eingeht?
Was ist zu tun, wenn auf den Schienen cHoge.connection aufruft, um eine Verbindung herzustellen? C.
<f: ajax> <f: ajax> kann nicht an Nicht-ClientBehaviorHolder angehängt werden. Was tun, wenn Sie Eltern werden?
Was tun, wenn JSF-Tags nicht zu HTML werden?
Was tun, wenn Sie versehentlich ein Modell erstellen?
Was tun, wenn ein ActionController :: UnknownFormat-Fehler auftritt?
Was zu tun ist, wenn es ungültig ist, weil es nicht mit einem '-' beginnt
ParseException: Was tun, wenn ein nicht analysierbares Datum erreicht ist?
[Ubuntu] Was tun, wenn MongoDB aufgrund eines SocketException-Fehlers nicht gestartet werden kann?
Was tun, wenn beim Versuch, Eclipse unter Java 9 auszuführen, ein NoClassDefFoundError angezeigt wird?
Was tun, wenn CDI BeanManager nicht mehr gefunden werden kann?
Was tun, wenn die Methode in f: ajax nicht gefunden wurde?
Was ist zu tun, wenn Ausdrucksoperatoren nicht auf die Methodenbindung angewendet werden können?
Was tun, wenn mysql2 einen Bundle-Installationsfehler erhält?
Was ist zu tun, wenn ein bestimmtes Objekt in JSF convertDateTime nicht als Datum formatiert werden kann?
[Ruby / Rails] Was tun, wenn NoMethodError angezeigt wird, wenn eine destruktive Methode wie Filter verwendet wird?
[Rails Tutorial Kapitel 2] Was tun, wenn Sie einen Fehlern im Spaltennamen machen?
[Schienen] Was tun, wenn die Ansicht zusammenbricht, wenn eine Nachricht mit der Fehlermethode angezeigt wird?
Was tun, wenn die Änderungen im Servlet nicht berücksichtigt werden?
[Schienen] Was tun, wenn Schienen nicht reagieren oder nicht anhalten?
java.security.InvalidKeyException: Was ist zu tun, wenn die Schlüsselgröße oder die Standardparameter unzulässig sind?
Was tun, wenn beim Versuch, mit Eclipse zu erstellen, ein Fehler in der gemeinsam genutzten JNI-Bibliothek auftritt?
Was tun, wenn beim Installieren von Axios in einem React + Typescript-Projekt ein Fehler auftritt?
Was tun, wenn javax.el.ELException: Kein gültiger Methodenausdruck: wird angezeigt, wenn der JSF-Bildschirm angezeigt wird
Was tun nach dem Aktualisieren von Dockerfile, docker-compose.yml?
Eine Erinnerung, wenn ein aapt.exe-Fehler auftritt
[IOS] Was tun, wenn das Bild mit einer Farbe gefüllt ist?
Was tun, wenn Sie in Thymeleaf Layout eine groovige Warnung erhalten?
Was tun, wenn CentOS nicht mit VirtualBox unter Catalina gestartet werden kann?
Was tun, wenn nach der Installation von npm "npm ERR! Code ENOSELF" angezeigt wird?
Was tun, wenn blockierter Host: "Hostname" in Ruby on Rails angezeigt wird
Kein Platz mehr auf dem Gerät Was tun, wenn ein Fehler auftritt?
Hinweise zur Vorgehensweise bei der Einrichtung von EC2 mit t2.micro
Was tun, wenn der Tomcat-Prozess bestehen bleibt, wenn Sie Tomcat in Eclipse stoppen?
Was tun, wenn auf GitHub eine MiniMagick-Sicherheitsanfälligkeitswarnung angezeigt wird?
Was tun, wenn Sie mit Reißverschluss sterben, wenn Sie Pom haben, wenn Sie ein ausführbares Glas mit Gradle erstellen?
Was tun, wenn der Vorgang nicht zulässig ist, wenn ein Befehl im Terminal ausgeführt wird?