How to show localization messages with parameters in Spring 3 / Thymeleaf

前端 未结 3 2026
失恋的感觉
失恋的感觉 2020-12-13 02:06

I\'m using Spring 3 and Thymeleaf to make some webpages and I am lost as for how to show messages like this:

welcome.message=Hello {0}, welcome!

and then rep

相关标签:
3条回答
  • 2020-12-13 02:49

    You can even use a calculated message key as a parameter:

    <p th:text="#{messages.msg1(${param1})}"></p>
    <p th:text="#{messages.msg2(${param2},${param3})}"></p>
    <p th:text="#{messages.msg3(#{${param4}})}"></p>
    

    Above, the parameter of [msg3] is a message key [#{key}] where key is itself calculated [${param4}]. The benefit is that you can insert internationalized calculated fragments in an internationalized message.

    0 讨论(0)
  • 2020-12-13 02:51

    If you need to pass an array of parameters where you don't know the size of the array then you can use:

    <p th:text="${#messages.msgWithParams(messageKey, messageParams)}"></p>
    <!-- or -->
    <p th:text="${#messages.msgOrNullWithParams(messageKey, messageParams)}"></p>
    

    https://www.thymeleaf.org/doc/tutorials/3.0/usingthymeleaf.html#messages-1

    0 讨论(0)
  • 2020-12-13 02:59

    You can use

    #{welcome.message(${some.attribute})}
    

    where some.attribute would be the value to use when replacing {0}.

    You should be able to comma separate the values between the () to add more values to be used.

    0 讨论(0)
提交回复
热议问题