Wie kann ich die escape-Werte in SpEL?
Schreibe ich einige SpEL-Anweisungen in XML, und ich kann nicht den parser bestimmen, wenn ich brauche zu entkommen Charakter.
Ich habe versucht, die folgenden:
<... property="someProperty" value="#{ someBean.aMethodOnTheBean('st\'ring') }" />
Jedoch hinzufügen, die in die \' nicht zu entziehen scheinen, die einzige Angebot und ich bekomme immer wieder ein parser-Ausnahme.
Gibt es eine Möglichkeit, zu entkommen diese Werte?
- #{someBean.aMethodOnTheBean(T(org.apache.Unterhaus.lang.StringEscapeUtils).escapeJavaScript("ad'sf")) } Funktioniert, aber ist nicht sehr sauber
- Netter Versuch! BTW, der Ansatz ist dokumentiert in einem Beispiel über die expression-Template-Abschnitt.
- Auch das wäre eine option, der ist mit Frühling-Eigenschaft Platzhalter (obwohl ich konnte nicht herausfinden, wie man richtig verwenden Sie es in dieser situation, so landete ich escaping der Werte, die
.properties
- Datei direkt).
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus der Dokumentation:
expression = 'something = ''' + someMethod.getValue + ''''
Ich geändert:
Dies funktioniert, erinnerte ich mich falsch, dass hatte ich Probleme bei der Verwendung von doppelten Anführungszeichen bei der Eingabe eine Zeichenfolge in ein SpEL-Funktion vor.
Unten ist die schema-definition:
Des XML überprüft, einwandfrei in eclipse. Aber mein Vereinfachtes Beispiel war nicht gültig-meine Entschuldigungen und guten Fang. Ich bin eigentlich der Wert wie diese:
<something value="#{"a"}" />
ist kein gültiges XML.FWIW, SpEL hat Unterstützung für double-quotes ab version 3.2.
SPR-9620