Spring Spring Thymeleaf Argumente

Diskutiere Spring Thymeleaf Argumente im Allgemeines EE Forum; Hallo, ich habe aktuell ein kleines Problem: Ist es möglich, wenn ich kein Argument {0} habe, dieses einfach zu "deaktivieren"? Als Beispiel: In...

  1. T_T
    T_T 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 (Text):
    my.message.property=Kind {0}
    Ich hole mir aus der messages.properties folgendes:
    Code (Java):
    messageSource.getMessage("my.message.property", new Object[]{12}, "fallback", LocaleContextHolder.getLocale());
    Dieses Output sieht wie folgt aus:
    Code (Text):
    Kind 12
    Nun habe ich aber manchmal das Alter nicht:

    Code (Java):
    messageSource.getMessage("my.message.property", null, "fallback", LocaleContextHolder.getLocale());
    Dann habe ich folgenden Output:
    Code (Text):
    Kind {0}
    ist es möglich das {0} einfach du "disablen"?

    Lg
     
  2. Vielleicht hilft dir dieses Buch hier weiter.
  3. httpdigest
    httpdigest Bekanntes Mitglied
    msg.replaceAll("\\s*\\{\\d+\\}", "") :)
     
    T_T gefällt das.
  4. T_T
    T_T Mitglied
    Typischer Facepalm Moment, Vielen dank!

    Manchmal sieht man den Wald vor lauter Bäumen nicht :D
     
  5. httpdigest
    httpdigest Bekanntes Mitglied
    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.
     
  6. T_T
    T_T Mitglied
    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.
     
  7. mrBrown
    mrBrown Super-Moderator Mitarbeiter
    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
     
    T_T gefällt das.
  8. T_T
    T_T Mitglied
    ok, der Vorschlag ist ein wenig besser. Bei zukünftigen Erweiterungen bspl.: "Kind 12 Jahre alt", wäre deine Variante doch einfacher umzusetzen.
     
  9. Thallius
    Thallius Bekanntes Mitglied
    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
     
  10. T_T
    T_T Mitglied
    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.
     
  11. Thallius
    Thallius Bekanntes Mitglied
    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
     
  12. Wenn du Java lernen möchtest, empfehlen wir dir dieses Buch hier
Passende Stellenanzeigen aus deiner Region:





Die Seite wird geladen...

Spring Thymeleaf Argumente - Ähnliche Themen

Spring MVC redirect Nachricht ohne erweiterung der URL
Spring MVC redirect Nachricht ohne erweiterung der URL im Forum Web Tier
Spring Boot/Html-Content/Web-Server
Spring Boot/Html-Content/Web-Server im Forum Allgemeine Java-Themen
Spring Boot - MVC - Error flushen
Spring Boot - MVC - Error flushen im Forum Allgemeine Java-Themen
Spring Boot und RestFull
Spring Boot und RestFull im Forum Allgemeine Java-Themen
Spring Data: Multiple representations of the same entity
Spring Data: Multiple representations of the same entity im Forum Datenbankprogrammierung
Thema: Spring Thymeleaf Argumente