[JAVA] Tokoro habe ich in der Migration von Wicket 7 auf 8 umgeschrieben

Bisherige Zusammenfassung

Ich habe versucht, eine kleine Anwendung, die mit Wicket7 erstellt wurde, auf Wicket8 zu migrieren. Ein Stück, das Fehler und Warnungen löscht und den umgeschriebenen Inhalt bis zu dem Punkt auflistet, an dem er vorerst funktioniert. Mir geht es jetzt nicht besser. Auch Lambda wird nicht behandelt.

Dies ist Nanika wie ein Memorandum. Wenn Sie ordnungsgemäß migrieren möchten, lesen Sie unbedingt das Original-Migrationshandbuch.

Zweites Argument von AjaxButton.onSubmit ()

Das Formular, das bisher als Argument übergeben wurde, ist verschwunden. Ich habe in meinem Code nicht darauf verwiesen, also löschen Sie einfach das Argument. Sie können es mit "AjaxButton.getForm ()" erhalten, wenn Sie möchten.

In AjaxEventBehavior (und seinen Unterklassen) angegebener Ereignisname

Zum Beispiel "AjaxFormComponentUpdatingBehavior".

python


//bis jetzt"onchange"Es hat funktioniert, auch wenn ich es angegeben habe ...
hoge.add(new AjaxFormComponentUpdatingBehavior("change") {
    @Override
    protected void onUpdate(AjaxRequestTarget target) {
        //Etwas zu verarbeiten
    }
});

Es gibt keine Ausnahmen, auch wenn "on" angehängt ist, aber JavaScript funktioniert nicht. Ab der Zeit von Wicket 6.x scheint im Protokoll ein Warnprotokoll mit der Aufschrift "Schreiben Sie nicht weiter. Ich werde Ihnen jetzt vergeben, aber verzeihen Sie mir ab 8." Ich habe es nicht bemerkt. Es ist mir egal, aber ich denke, der Klassenname "AjaxFormComponentUpdatingBehavior" ist zu lang.

AbstractReadOnlyModel Veraltet

Verwenden Sie keine Latte. Mit IDE wird die Stornierungslinie gezogen und das Nutzungsgefühl verdoppelt. Es ist einfach zu reparieren, ersetzen Sie es einfach durch "IModel".

Ich habe es über ein Etikett wie das folgende verwendet, also habe ich es nur an einer Stelle geändert. Ich wollte es einfach nicht oft schreiben, weil es so viele Zeichen in "AbstractReadOnlyModel" gibt.

ReadOnlyLabel.java


package yamane.wicket;
import org.apache.wicket.markup.html.basic.Label;
import org.apache.wicket.model.IModel;

public abstract class ReadOnlyLabel<T> extends Label {
    public ReadOnlyLabel(String id) {
        super(id);
        //Ich habe dies an IModel umgeschrieben
        // setDefaultModel(new AbstractReadOnlyModel<T>() {
        setDefaultModel(new IModel<T>() {
            @Override
            public T getObject() {
                return load();
            }
        });
    }
    protected abstract T load();
}

Java 8 ist erforderlich und die Standardmethode der Schnittstelle kann verwendet werden. Sehr erfrischend.

AbstractRequestCycleListener Veraltet

Dies ist fast dasselbe wie "AbstractReadOnlyModel". Ersetzen Sie "erweitert" durch "implementiert" und ersetzen Sie es durch "IRequestCycleListener" durch die hinzugefügte Standardmethode. Aber das wurde im Migrationsleitfaden nicht erwähnt, oder? Ich benutze es oft zur Handhabung, bevor ich die Fehlerseite schreibe, aber ich frage mich, ob jeder es benutzt.

Component.onConfigure () -Methode

Beim Überschreiben ist jetzt "Super.onConfigure ()" erforderlich. Bis jetzt war die Implementierung von "Component.onConfigure ()" leer, daher dachte ich "Ich muss es nicht aufrufen, die einzeilige Beschreibung wird reduziert", aber von Wicket8 "Nein, Ausnahme, du stirbst". Ich werde. wie? Haben Sie schon einmal erwähnt, dass dies für JavaDoc unerlässlich ist? Es tut mir leid, dass ich es nicht gelesen habe.

Da es sich um eine Methode handelt, die häufig überschrieben wird, gibt es viele Änderungen. Ich grep und kopiere nur. Das war das Größte für mich.

Bisher

Es war viel weniger Veränderung als ich erwartet hatte.

Ich persönlich denke, dass der Code für Wicket-Anwendungen für jeden Programmierer sehr unterschiedlich sein wird. Welches ist nicht der richtige Fehler, sondern die Individualität oder Gewohnheit. Ich bin mir also sicher, dass es unterschiedliche Umschreiborte für Wicket 7-Anwendungen geben wird, die von verschiedenen Personen erstellt wurden. Ich habe nicht viel Code für Wicket-Anwendungen gesehen, die von jemand anderem als mir selbst erstellt wurden, daher bin ich mir nicht sicher.

Es endet abrupt, nachdem die Nutzlosigkeit dieses Artikels angesprochen wurde.

Recommended Posts

Tokoro habe ich in der Migration von Wicket 7 auf 8 umgeschrieben
Was ich bei der Migration von der Spring Boot 1.4-Serie zur 2.0-Serie getan habe
Was ich bei der Migration von der Spring Boot 1.5-Serie zur 2.0-Serie getan habe
[Android] Ich möchte den Listener über die Schaltfläche in ListView abrufen
[Rails] Ich habe versucht, die Version von Rails von 5.0 auf 5.2 zu erhöhen
Migration von Eclipse zu IntelliJ (unterwegs)
Ich habe versucht, die Sitzung in Rails zu organisieren
Ich möchte den Wert in Ruby erhalten
Ich war süchtig nach NoSuchMethodError in Cloud-Endpunkten
[Java] Ich möchte die Differenz zum Datum berechnen
Ich möchte eine TraceId in das Protokoll einbetten
Ich habe versucht, die Methode der gegenseitigen Teilung von Eugrid in Java zu implementieren
Migration von Cobol nach JAVA
Ich habe versucht, innerhalb von 3 Monaten einen Antrag von unerfahren zu stellen
[Anfänger] Ich möchte die Migrationsdatei ändern.
Verstehen Sie den groben Fluss von der Anforderung zur Antwort in SpringWebMVC
[JDBC] Ich habe versucht, von Java aus auf die SQLite3-Datenbank zuzugreifen.
Ich möchte im gespeicherten Zustand zum selben Bildschirm wechseln
Ich möchte die if-else-Anweisung für bedingte Verzweigungen in Java vereinfachen
In Java möchte ich mehrere angegebene Zeichen nur von Anfang bis Ende abschneiden.
Ich möchte den Inhalt von Assets in der mit capistrano erstellten Umgebung von Grund auf neu erstellen
Protokoll-Puffer-Migration von 2.x auf 3.x.
Übergeben Sie das Gebietsschema i18n an JavaScript
Ich habe versucht, den Weihnachtsbaum in einem Lebensspiel zu beleuchten
Daten sortieren Absteigend, aufsteigend / Schienen
Ich habe versucht, die Methode zu erklären
Ich möchte den oberen Rand in der UITableView von Grouped entfernen (schnell)
[Java] Ich möchte mit dem Schlüssel im Objekt eindeutig arbeiten
Ich habe versucht, das Paiza-Kampagnenproblem "Herausforderung von Phantomdieb 813" zu lösen.
Was ist mit den typischen Änderungen in Apache Wicket 8 passiert?
Der Weg von JavaScript nach Java
Ich möchte den Wert von Attribute in Selenium of Ruby ändern
[Ruby] Ich möchte nur das ungerade Zeichen in der Zeichenfolge ausgeben
[Rails] Ich habe etwas über Migrationsdateien gelernt! (Hinzufügen einer Spalte zur Tabelle)
Ich möchte JSP in Emacs einfacher als die Standardeinstellung schreiben.
Ich habe die Punkte zusammengefasst, die bei der kombinierten Verwendung von Ressourcen und Ressourcen zu beachten sind
Folgen Sie mit JavaFX vom Wurzelknoten zum unteren Knoten ~ Ich kenne die Route ~
Bestätigung und Umgestaltung des Flusses von der Anfrage zum Controller in [httpclient]
Ich habe versucht, das Problem der Tribonacci-Sequenz in Ruby mit Wiederholung zu lösen.
Ich habe die COTOHA-API-Syntaxanalyse 100 Mal in Java aufgerufen, um die Leistung zu messen.
Ich möchte die IP-Adresse erhalten, wenn ich mit Java eine Verbindung zu Wi-Fi herstelle
So erhalten Sie den Einstellungswert (Eigenschaftswert) aus der Datenbank in Spring Framework
Ich habe versucht, den CPU-Kern mit Ruby voll auszunutzen
Ich möchte bei der Registrierung in der Datenbank eine Fehlermeldung anzeigen
Ich war süchtig nach Unit-Tests mit dem Pufferoperator in RxJava
[Ruby] Ich habe versucht, die häufigen Methoden in Paiza zusammenzufassen
[Ruby] Ich habe versucht, die häufigen Methoden mit paiza ② zusammenzufassen
Ich habe versucht, die Grammatik von R und Java zu übersetzen [Von Zeit zu Zeit aktualisiert]
Was ist CHECKSTYLE: OFF in der Java-Quelle? Checkstyle zu wissen von
Kürzen Sie die UUID in Swift auf base64.