Spring MVC-tag-Interaktion mit benutzerdefinierten Tags
Ich habe eine JSP mit Feder:form-tags zu binden, steuert, um ein Befehl-Objekt.
Ich möchte es ändern, wie folgt: wenn [eine bestimmte Bedingung wahr ist] als die Steuerelemente anzuzeigen; andernfalls wird nur der text angezeigt. (Beispiele: wenn der Benutzer Administrator ist, die Steuerelemente anzuzeigen, ansonsten wird nur der text angezeigt. Wenn die whatsit ist noch offen für änderungen, die Steuerelemente anzuzeigen, ansonsten wird der text angezeigt.)
In anderen Worten, ich möchte dieses:
<c:choose>
<c:when test="SOME TEST HERE">
<form:input path="SOME PATH" />
</c:when>
<c:otherwise>
<p>${SOME PATH}</p>
</c:otherwise>
</c:choose>
Aber ich möchte eine einfache Möglichkeit zum erstellen dieser für jedes Feld (es gibt viele).
Wenn ich erstellen Sie eine benutzerdefinierte tag-zu erzeugen, die über text (da "ETWAS WEG"), wird die Feder custom-tags erhalten gebunden?
Ich denke, was ich mich wirklich Frage ist: kann ich das erstellen von benutzerdefinierten tags, generieren Frühjahr benutzerdefinierte tags, die dann Holen Sie sich gebunden? Oder tun alle benutzerdefinierte tags (mine und Feder) bekommen, gleichzeitig behandelt?
Du musst angemeldet sein, um einen Kommentar abzugeben.
Häufig die einzige Lösung ist, es zu versuchen.
Versuchte ich es drei verschiedene Möglichkeiten -- eine JSP custom tag library, eine parametrisierte JSP gehören, und eine JSP2 tag-Datei.
Den ersten beiden nicht funktioniert hat (obwohl ich vermute, dass die tag-Bibliothek gemacht werden kann, zu arbeiten), aber die tag-Datei hat! Die Lösung basiert lose auf ein Beispiel gegeben, in Expert Spring MVC and Web Flow.
Hier mein code in WEB-INF/tags/renderConditionalControl.Tags :
Und hier ist der code in der jsp:
Erste,mit der anderen taglibs-Richtlinien:
und in der form:
c:when
tag in den Teil, der macht den Eingang; es macht sich unterschiedlich für bestimmte tags wie textarea oder select.