Mam pytanie przy użyciu Spring i18n. Czy mogę przekazać parametry do wiadomości i18ned z innych kodów wiadomości.
Na przykład
YesKey=Yes
NoKey=No
Message1=This is {YesKey}
Message2=This is {NoKey}
Czy jest jakaś alternatywa, jeśli nie mogę tego zrealizować.
Odpowiedzi:
2 dla odpowiedzi № 1W taryfie wiem, że nie jest możliwe użycie wiadomości w innej wiadomości po prostu używając jej nazwy. - To nie jest ograniczenie wiosny, jest to ograniczenie java.text.MessageFormat
.
Ale to, co możesz zrobić, to:
message.properties:
YesKey=Yes
NoKey=No
Message1=This is {0}
Message2=This is {0}
kod java
MessageSource messageSource =...
String param = messageSource.getMessage("YesKey",
new Object[0], Locale.English);
String message = messageSource.getMessage("Message1",
new Object[]{param}, Locale.English);
lub w jsp (x):
<spring:message var="param" code="YesKey" />
<spring:message var="message" code="Message1" arguments="${param}" />