Ich möchte SPeL verwenden und ich muss einen Parameter aus einer Konfigurationsquelle auswerten. Das Problem ist, dass der Name/Schlüssel dynamisch ist. Also verlasse ich mich auf einen Parameter, um den anderen zu lösen. Ich muss im Grunde einen booleschen Parameter überprüfen.Wie verschachtelte Auswertungen in Spring Expression Language ausgeführt werden
Beispiel: Teilschlüssel/prefix: app.name Vollkeilwuchtung: $ {} app.name .feature.isEnabled
Also, in Spel Ich versuche, so etwas wie:
#{'${app.name}.feature.isEnabled' != null && !'${app.name}.feature.isEnabled'}
Aber Dies kompiliert, funktioniert aber nicht.
Wenn app.name = my-app, die oben Entschlüssen zu Stringliteral: my-app.feature.isEnabled
wörtlichen in sich id ok, aber ich brauche wirklich den Wert dieses Schlüssels.
Wenn ich mit einem anderen Ausdruck zu wickeln versuchen, es nicht kompiliert:
#{${'${app.name}.feature.isEnabled'} != null && !${'${app.name}.feature.isEnabled'}}
ich verschiedene Variationen des oben versucht, aber es nicht auf die richtige Formel machen.
Ist das möglich?
Mögliches Duplikat von [Wie wird ein dynamic/nested Spring-Eigenschaft-Platzhalterausdruck ausgewertet?] (Http://stackoverflow.com/questions/20705322/how-to-evaluate-a-dynamic-nested-spring-property-placeholder -Ausdruck) –