Spring Thymeleaf Argumente

T_T

Bekanntes Mitglied
Hallo, ich habe aktuell ein kleines Problem:
Ist es möglich, wenn ich kein Argument {0} habe, dieses einfach zu "deaktivieren"?
Als Beispiel:
In der message.properties lautet die property:
Code:
my.message.property=Kind {0}
Ich hole mir aus der messages.properties folgendes:
Java:
messageSource.getMessage("my.message.property", new Object[]{12}, "fallback", LocaleContextHolder.getLocale());
Dieses Output sieht wie folgt aus:
Code:
Kind 12

Nun habe ich aber manchmal das Alter nicht:

Java:
messageSource.getMessage("my.message.property", null, "fallback", LocaleContextHolder.getLocale());

Dann habe ich folgenden Output:
Code:
Kind {0}

ist es möglich das {0} einfach du "disablen"?

Lg
 
Naja, es ist ja schon ein bisschen ein "Hack". Also, es würde mich nicht überraschen, wenn man nicht-aufgelöste Interpolationsparameter von solchen Message-Strings tatsächlich entfernen lassen könnte.
Allerdings stünde dann die Frage im Raum, wie er mit Leerzeichen umgeht, die ja dann entfernt werden könnten (aus "Hallo {0}" soll ja nicht "Hallo " - mit Leerzeichen) werden.
 
Natürlich ist es ein "Hack" aber einer, der funktioniert. Da das ganze als PDF angezeigt wird, ist das Leerzeichen meines Erachtens nicht weiter störend.

Schön wäre es dennoch, wenn man einfach angeben kann, dass dies nur abgedruckt werden soll, wenn tatsächlich ein Objekt übergeben worden ist.

Vielleicht ist hier ein Thymeleaf / Spring Guru, der eine Idee hat, wie man dies sauber lösen kann.

Dennoch, vielen dank.
 
In dem Fall würde ich zwei verschiedene Messages nutzen - eine ohne und eine mit Parameter.
Das man den Platzhalter problemlos durch "nichts" ersetzen kann, ist ja eher der Sonder- als der Normalfall, da wäre es deutlich sauberer, die beiden Fälle auch Applikationsseitig zu trennen
 
ok, der Vorschlag ist ein wenig besser. Bei zukünftigen Erweiterungen bspl.: "Kind 12 Jahre alt", wäre deine Variante doch einfacher umzusetzen.
 
Ich würde dann auch schreiben „Keine Angabe“ oder so. Einfach nichts ist Extrem unschön denn es kann ja auch ein Software Fehler der Grund dafür sein.

Gruß

Claus
 
Naja das Problem ist, dass ich nicht einfach "Keine Angabe" schreiben kann. Hier werden Preise angezeigt und je nachdem aus welcher "Richtung" ich den Request bekomme, wird einmal ein Kind inkl. Alter angegeben und manchmal ist es ein Pauschalpreis für Kinder.
 
Dann solltest du das halt so schreiben. Aber einfach nichts das versteht doch wieder nur jemand der vorher eine Einweisung bekommen hat. total unnötig
 

Zurück
Oben