Beim Versuch, eine benutzerdefinierte JSP-Tag-Bibliothek zu verwenden, habe ich in JSP eine Variable definiert, die ausgewertet werden soll, bevor sie an die Tag-Bibliothek übergeben wird. Aber ich kann es nicht zur Arbeit bringen. Hier ist eine vereinfachte Version meiner JSP:Variable vor Übergabe an JSP-Tag-Handler auswerten
<% int index = 8; %>
<foo:myTag myAttribute="something_<%= index %>"/>
Die doStartTag()
Methode meines TagHandler
verwendet den Ausgangsstrom des pagecontext schreiben auf dem eingegebenen Attribut basiert:
public int doStartTag() {
...
out.println("Foo: " + this.myAttribute);
}
jedoch der Ausgang ich in meinem letzten sehen Markup ist:
Foo: something_<%= index %>
statt, was ich will:
Foo: something_8
Meine Tagbibliothek Definition für das Attribut ist:
<attribute>
<name>myAttribute</name>
<required>true</required>
</attribute>
Ich habe versucht, das Attribut mit rtexprvalue
sowohl true
und false
, aber weder gearbeitet zu konfigurieren. Gibt es eine Möglichkeit, das Attribut so zu konfigurieren, dass es ausgewertet wird, bevor es an den Handler gesendet wird? Oder mache ich das total falsch?
Ich bin relativ neu bei JSP-Tags, also bin ich offen für Alternativen zur Lösung dieses Problems. Außerdem ist mir klar, dass die Verwendung von Scriptlets in JSP verpönt ist, aber ich arbeite hier mit Legacy-Code, so dass ich vorerst daran festhalte.
Edit:
ich auch versucht:
<foo:myTag myAttribute="something_${index}"/>
, die funktioniert auch nicht - es gibt nur something_${index}
.
I‘ Das habe ich auch selbst versucht, und auch bei mir hat es nicht funktioniert. Ich werde die Frage aktualisieren - aber danke für die Antwort. –