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. httpdigest
    httpdigest Aktives Mitglied
    msg.replaceAll("\\s*\\{\\d+\\}", "") :)
     
    T_T gefällt das.
  3. T_T
    T_T Mitglied
    Typischer Facepalm Moment, Vielen dank!

    Manchmal sieht man den Wald vor lauter Bäumen nicht :D
     
  4. httpdigest
    httpdigest Aktives 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.
     
  5. 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.
     
  6. 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.
  7. 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.
     
  8. 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
     
  9. 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.
     
  10. 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
     
Die Seite wird geladen...

Spring Thymeleaf Argumente - Ähnliche Themen

Authentifizieren mit SpringBoot
Authentifizieren mit SpringBoot im Forum Netzwerkprogrammierung
Spring Data data.sql SQL Insert mit single quote
Spring Data data.sql SQL Insert mit single quote im Forum Datenbankprogrammierung
Spring Data Hibernate mehrfache Suchkriterien
Spring Data Hibernate mehrfache Suchkriterien im Forum Allgemeine Java-Themen
Spring Boot Microservices und Entitäten
Spring Boot Microservices und Entitäten im Forum Application Tier
Spring data JPA Query
Spring data JPA Query im Forum Data Tier
Thema: Spring Thymeleaf Argumente