Benutzerdefinierte JSP-Tag-Bibliothek (Setter-Methode für das Attribut konnte nicht gefunden werden)

8

Ich habe Probleme mit einem benutzerdefinierten Tag: -

org.apache.jasper.JasperException: /custom_tags.jsp(1,0) Setter-Methode für Attribut: Vorname

konnte nicht gefunden werden

Dies ist meine TagHandler-Klasse:

%Vor%

Dies ist meine TLD-Datei:

%Vor%

Und das ist meine JSP-Seite:

%Vor%

Ich habe überprüft, dass der Code neu kompiliert und korrekt implementiert wurde usw. etc ....

Also, die Frage ist, warum kann es die Setter-Methode nicht finden ???

    
Vinayak Bevinakatti 22.10.2008, 07:25
quelle

2 Antworten

18

Überprüfen Sie die Groß- / Kleinschreibung der Attribute in Ihrem Tag-Element - sie sollten mit der Groß- / Kleinschreibung des Setter übereinstimmen, nicht mit den Member-Variablen (die übrigens privat sein sollten).

Die Regel besagt, dass der erste Buchstabe des Attributs in Großbuchstaben geschrieben wird und dann das Ergebnis mit "set" versehen wird, um den Namen des Settors zu erhalten.

In Ihrem Fall haben Sie das Attribut 'firstname' aufgerufen, sodass die Regel dazu führt, dass der JSP-Compiler nach der Methode 'setFirstname' sucht. Da Sie Ihren Setzer 'setFirstName' (mit einem Großbuchstaben 'N') benannt haben, sollten Sie 'firstName' (auch mit einem Großbuchstaben 'N') für den Attributnamen verwenden.

Wenden Sie die gleiche Regel auf das Attribut 'lastname' an, um zu 'lastName' zu gelangen, und Sie sollten im Geschäft sein.

P.S. Die Verwendung einer guten IDE, wie IntelliJ , hätte in diesem Fall geholfen, da es die gültigen Namen für Ihre Attribute vorgeschlagen hätte, was Ihnen eine Menge Kopfkratzen erspart hätte.

    
belugabob 22.10.2008, 08:43
quelle
2

Die TLD-Datei in Ihrem Beispiel sieht aus wie Unsinn, ich weiß nicht, ob es weil Sie es nicht richtig formatiert haben.

Das -Tag -Element für Ihr benutzerdefiniertes Tag sollte ein -Attribut -Element haben, das jedem Attribut entspricht, das Sie anzeigen möchten. Etwas wie:

%Vor%

Beachten Sie, dass Attribute standardmäßig Strings sind. Dies kann durch Hinzufügen eines -Typ -Elements innerhalb des -Attribut -Elements außer Kraft gesetzt werden.

    
John Topley 22.10.2008 08:16
quelle

Tags und Links