Benutzerdefiniertes JSP-Tag - Wie bekomme ich den Body des Tags?

8

Ich habe ein benutzerdefiniertes JSP-Tag wie folgt:

%Vor%

Wie kann ich im benutzerdefinierten Tag den Text des Körpers erhalten?

    
Kyle 23.03.2010, 17:45
quelle

3 Antworten

10

Es ist kompliziert, weil es zwei Mechanismen gibt.

Wenn Sie SimpleTagSupport erweitern, erhalten Sie getJspBody () Methode. Sie gibt ein JspFragment zurück, das Sie aufrufen können (Writer writer) um den Body-Inhalt in den Writer schreiben zu lassen.

Sie sollten SimpleTagSupport verwenden, es sei denn, Sie haben einen bestimmten Grund, BodyTagSupport zu verwenden (wie die Legacy-Tag-Unterstützung), da es einfacher ist.

Wenn Sie klassische Tags verwenden, erweitern Sie BodyTagSupport und erhalten so Zugriff auf getBodyContent () -Methode. Dadurch erhalten Sie ein BodyContent-Objekt, von dem Sie den Body-Inhalt abrufen können.

    
Brabster 23.03.2010, 18:00
quelle
7

Wenn Sie ein benutzerdefiniertes Tag mit jsp 2.0-Ansatz verwenden, können Sie Folgendes tun:

make-h1.tag

%Vor%

Verwenden Sie es in JSP als:

%Vor%     
Alireza Fattahi 30.12.2013 09:45
quelle
5

So erweitern Sie Brabsters Antwort , ich habe SimpleTagSupport.getJspBody() verwendet, um das JspFragment in ein internes StringWriter für Inspektion und Manipulation zu schreiben:

%Vor%

}

    
brasskazoo 13.04.2010 03:11
quelle

Tags und Links