Playframework: [RuntimeException: java.lang.reflect.InvocationTargetException]

8

Ich versuche, eine einfache Anmeldung basierend auf dem Zentask-Beispiel zu erstellen - zentask - playframework Wenn ich jedoch auf die Anmeldeschaltfläche klicke, die die Aktionen von Application.authenticate aufruft, gibt es eine Laufzeitausnahme. Ich habe die Zeile mit - Fehler

markiert %Vor%

Anwendung.java

%Vor%

Ich verstehe, dass es etwas mit der Validierungsfunktion in der Login-Klasse zu tun hat, denn wenn ich den Aufruf von User.authenticate in der Validate-Funktion entferne, funktioniert es ohne Fehler. Aber ich kann es nicht herausfinden.

Die Benutzerklasse ist wie -

%Vor%

und die AccountDetails-Klasse -

%Vor%

Jede Hilfe würde sehr geschätzt werden.

Vielen Dank.

    
ac-lap 02.10.2013, 09:44
quelle

1 Antwort

4

Ich muss annehmen, aber wenn das so aussieht, wie Ihr Stacktrace aussieht:

%Vor%

Dann wird die Ursache des Problems tatsächlich von der NPE in Ihrer Benutzerklasse angezeigt. Wenn Sie falsche Anmeldedaten eingeben, findet Ihr Finder nichts und gibt NULL in AccountDetails.authenticate () zurück.

In der folgenden Methode überprüfen Sie also nicht auf null und versuchen Sie, die userId zu erhalten, die die NPE verursacht:

%Vor%

Wenn Sie nur nach Null suchen, erhalten Sie die gewünschte Funktionalität:

%Vor%     
Donovan Muller 24.06.2014 09:05
quelle