Spring MVC-Tag-Interaktion mit benutzerdefinierten Tag

8

Ich habe eine JSP, die Spring verwendet: Form-Tags, um Steuerelemente an ein Befehlsobjekt zu binden.

Ich möchte es wie folgt ändern: Wenn [eine Bedingung ist wahr] als die Steuerelemente anzeigen; Ansonsten zeige einfach den Text an. (Beispiele: Wenn der Benutzer ein Admin ist, zeigen Sie die Steuerelemente an, andernfalls zeigen Sie nur den Text an. Wenn das Whatsit noch für die Änderung geöffnet ist, zeigen Sie die Steuerelemente an, andernfalls zeigen Sie den Text an.)

Mit anderen Worten, ich möchte das:

%Vor%

Aber ich möchte eine einfache Möglichkeit, dies für jedes Feld (es gibt viele) zu erstellen.

Wenn ich ein benutzerdefiniertes Tag erzeuge, um den obigen Text ("SOME PATH") zu generieren, werden die benutzerdefinierten Spring-Tags gebunden?

Ich denke, ich frage wirklich: Kann ich benutzerdefinierte Tags erstellen, die benutzerdefinierte Spring-Tags generieren, die dann gebunden werden? Oder werden alle benutzerdefinierten Tags (Mine und Spring) gleichzeitig behandelt?

    
Jacob Mattison 13.01.2009, 17:09
quelle

1 Antwort

10

Häufig ist die einzige Lösung, es auszuprobieren.

Ich habe es auf drei verschiedene Arten versucht - eine benutzerdefinierte JSP-Tag-Bibliothek, ein parametrisiertes JSP-Include und eine JSP2-Tag-Datei.

Die ersten beiden haben nicht funktioniert (obwohl ich vermute, dass die Tag-Bibliothek funktioniert), aber die Tag-Datei hat es geschafft! Die Lösung basiert auf einem Beispiel, das in Expert Spring MVC und Web Flow vorgestellt wurde.

Hier ist mein Code in WEB-INF / tags / renderConditionalControl.tag:

%Vor%

Und hier ist der Code in der JSP:

Zuerst mit den anderen Taglibs-Direktiven:

%Vor%

und innerhalb des Formulars:

%Vor%     
Jacob Mattison 20.01.2009, 20:31
quelle

Tags und Links